CodeEditApp/CodeEdit

✨ Editor/Terminal Color Themes

austincondiff opened this issue · 5 comments

Let's create our own set of pre-bundled themes.

  • We can provide similar ones to what Xcode comes with along with a few of our own.
  • Each theme will have the option to have a light mode and a dark mode that can optionally change when the user switches light/dark mode.
  • We will have a setting to use the themes background, or use the standard window background which is tinted by your wallpaper.
  • We can also provide "smart themes" which generate a theme based on the users tint color (See #46)
  • We might leverage some work being done in #76.

Related issue #187.

Questions

  • Will themes each be extensions like in VSCode or will they be separate from themes in some way?

We could create a theme standard. And people can add their theme. It should be separated from the extension

I like the idea of adding color themes for syntax highlighting. But I think "smart themes" based on wallpaper background or tint color should be the second or third step. First, we should provide a decent set of popular theming styles, including some that have really good contrast for accessibility. Next, we should build a custom theme editor so users can duplicate the existing and adjust them to their needs. After that, we could make them export- and importable (e.g. as JSON files).

Also, the default theming style should be one that's popular and that has a good contrast. The current one is actually quite hard to read, I also don't like the color style (which is subjective, but I'm using the default anywhere else so I'm not very demanding), see here for example:
Screenshot 2022-03-27 at 14 51 55

@CodeEditApp/admins what do we want to do with this issue? We have some themes, could we create new issues for future work?

This seems like an issue that is hard to fix, SwiftTerm which is the package we're using is no longer receiving updates. We should either create a fork of SwiftTerm and edit that fork or change package.

What makes you say that the project isn't receiving updates anymore? The latest commit was 4 days ago?