Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactored how themes are stored and loaded #1601

Merged
merged 4 commits into from
Mar 9, 2024

Conversation

austincondiff
Copy link
Collaborator

@austincondiff austincondiff commented Mar 4, 2024

Description

Currently we are copying bundled themes to ~/Application Support/CodeEdit/themes, then loading them from there. This means that if we ever want to change themes or add new bundled themes, the user would need to delete that themes folder for any changes to be picked up. We were also hardcoding each bundled theme in the code.

Now, Default themes are bundled with CodeEdit.
We removed all hardcoded theme names and we simply scan the contents of the DefaultThemes folder.
Themes added to ~/Application Support/CodeEdit/Themes are now considered user-defined or custom themes. Themes the user installs will later be placed here.
Converted all themes hex values to now use the sRGB color space.
Themes now use the new .cethemes file extension but still in json format.

Warning

Theme editing via the UI is now broken and will be fixed in a future PR. This is because we will need to copy bundled themes into the user Themes folder to make edits to bundled themes. I recommend that we merge anyways and do this additional work as part of a future release as we are still in pre-alpha.

Wouter01
Wouter01 previously approved these changes Mar 5, 2024
Copy link
Member

@tom-ludwig tom-ludwig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks amazing. Just a couple of minor improvements to consider

@austincondiff austincondiff self-assigned this Mar 7, 2024
@austincondiff austincondiff added the enhancement New feature or request label Mar 7, 2024
@thecoolwinter
Copy link
Collaborator

Looks good, I like these changes it seems like a good idea to differentiate between default and user defined themes.

@thecoolwinter thecoolwinter merged commit 6361a88 into CodeEditApp:main Mar 9, 2024
2 checks passed
FastestMolasses pushed a commit to Angelk90/CodeEdit that referenced this pull request Apr 11, 2024
* Pulling themes from app bundle without needing to copy them and the users themes folder. Corrected some theme colors to sRGB color space.

* Resolved SwiftLint errors

* Capitalized themes folder in application support.

* Update CodeEdit/Features/Settings/Pages/ThemeSettings/Models/ThemeModel.swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants