kcamcam / vscode_dark_modern.zed

VS Code Dark Modern theme for Zed
MIT License
4 stars 2 forks source link

Add Modern Light port #2

Open 2zqa opened 1 month ago

2zqa commented 1 month ago

Hey,

Thanks for porting this amazing theme over! I find all the default Zed themes to be a little too low in contrast, so this is great. However during the day a light them provides great readability, especially in bright environments. May I request a light variant to be added as well? I imagine it can be either added as a separate theme/extension, or added in this one. I tried doing it myself using the theme importer, but the text colors don't seem to work. I think manual intervention is required.

kcamcam commented 1 month ago

@2zqa I'm glad you are enjoying the theme :)

Thanks for the suggestion of porting the light theme. I think the best place to contribute would be a separate theme since Zed supports the option to specify a light and dark theme.

{
  "theme": {
    "mode": "system",
    "light": "VSCode Light Modern",
    "dark": "VSCode Dark Modern"
  }
}

The importer didn't work right away for the dark theme either. I had to make quite a few modifications to get it to a usable state. Whenever I saw an issue I scanned the VS Code repo for the hex values I was looking for:

This would be light modern in your case:

I hope it helps. Please let me know if there's anything I can help with.

2zqa commented 1 month ago

since Zed supports the option to specify a light and dark theme.

Indeed! However I think it could still be in this repository. You can add multiple json files in the themes folder and it detects them all. Or even if you use one file, it's an array anyway:

https://github.com/kcamcam/vscode_dark_modern.zed/blob/e43d88357bfb4342d050c129958c8c2d24f371c7/themes/vscode-dark-modern.json#L5

I've tried both ways and they work. So it's just a matter of opinion: do you want to include a light theme in this repo called "vscode_dark_modern"? I personally think it would still fit, because one can assume users would want a light variant as well, especially considering the auto dark/light mode that you mentioned (I love that feature)

The importer didn't work right away for the dark theme either. I had to make quite a few modifications to get it to a usable state. Whenever I saw an issue I scanned the VS Code repo for the hex values I was looking for

Ah, I guess there will be no choice but to do some manual work. Thanks for sharing your methodology! Perhaps I'll try to get some stuff working this weekend.

Also a note, might make a separate issue for this: in VS Code text is slightly bolder by default, I think we can and should also do this in this theme if possible.

kcamcam commented 1 month ago

I think that would be neat if all VSCode Modern themes could be provided by the same extension. I think renaming it or creating a new extension called VSCode Modern would be more appropriate.

Did you have any luck with the light theme last weekend?

kcamcam commented 1 month ago

Regarding the font weight it seems there is interest #4. Please feel free to tackle this if you're up to it. Just make sure to drop a comment in #4 so that no one else picks it up.

2zqa commented 1 month ago

I think that would be neat if all VSCode Modern themes could be provided by the same extension.

That would be awesome, but quite a burden to keep up-to-date. On the other hand, it will probably drive a lot of traffic and attention to this repository, and more eyes mean more contributions. Initially though it might be tough to keep high quality. And if other themes provide a (much) better representation, people might switch, fragmenting the themes over multiple repositories. So it's a bold move, but I like it!

Did you have any luck with the light theme last weekend?

Didn't get to it sadly - I have been contributing to some other open source projects though! I'm still interested in it though, and I still want to try it.

Regarding the font weight it seems there is interest https://github.com/kcamcam/vscode_dark_modern.zed/issues/4. Please feel free to tackle this if you're up to it.

It'll be a matter of finding the right boldness value, I hope I can find it in the source code. Best case: it's just setting bold to true, worst case it's using some specific boldness value.

Just make sure to drop a comment in https://github.com/kcamcam/vscode_dark_modern.zed/issues/4 so that no one else picks it up.

This implies a promise I'll pick it up, something I've proven to not be very good at :P but I might leave a comment to say I'm at least taking a poke at it, without promises.

EDIT: It seems I should've read the issue first. Awesome to see the value is already discovered, but then I wonder if the work is all laid out why it isn't just added already. I might pick it up in a few moments or tomorrow, it appears trivial.

2zqa commented 1 month ago

I've made some progress on my fork. Take a look at it if you're interested, it even contains some interesting scripts like theme_merger.py (shoutout to ChatGPT for writing it for me, only took me five prompts to refine it to this state and a bit of manual changes!) EDIT: this script is no longer necessary: see my new issue #6.

https://github.com/2zqa/vscode_dark_modern.zed/tree/light-theme

Note it is on a feature branch called light-theme.

2zqa commented 3 weeks ago

@kcamcam, you suggested that we could rename this repository to "VSCode Modern". In the meantime I have created my own repository with both the Light Modern and Dark Modern theme included, see this link: https://github.com/2zqa/vscode_modern_themes.zed

Would you be interested in integrating that repository into this one? It would entail:

kcamcam commented 3 weeks ago

@2zqa I would be interested in taking on the responsibility of maintaining both themes if there was enough interest. Personally I don't use any light themes (it burns me eyes :P). At the moment, only in my personal opinion, there seems to be some interest in getting the dark theme working and small interest in the light theme. I think the best way to find out would be to create two extensions; a separate light and combined light/dark them. If the combined theme gained enough interest I would be happy to deprecate this extension and link it to the new one and focus our efforts on that repository. In the meantime I think there is some benefit to keeping energy focused on refining the dark theme before taking on a new challenge.

2zqa commented 3 weeks ago

That's fair. As for the eye burning part, try the difference of a light and dark theme mode when you're working next to a bright window. Suddenly you can turn the brightness of your screen down a notch or two while increasing readability :sun_with_face:

I'll try posting my extension to Zed (don't even know how yet) and see if it gains any traction.