Commit Graph

82 Commits

Author SHA1 Message Date
Marshall Bowers
b501f4eafc
Begin porting Zed1 themes to Zed2 (#3793)
This PR is a first pass at porting the Zed1 themes to Zed2.

For the initial release of Zed2 we'll be shipping just the themes that
existed in Zed1, ported to Zed2. The new themes that were previously
added just in Zed2 have been removed.

Release Notes:

- N/A
2023-12-22 17:37:53 -05:00
Marshall Bowers
dc64411cca
Extend theme_importer in preparation for importing Zed1 themes (#3791)
This PR extends the `theme_importer` with the overall structure required
to support importing themes from Zed1.

Release Notes:

- N/A
2023-12-22 13:47:30 -05:00
Marshall Bowers
80143b2571
Fix names for Rosé Pine themes (#3771)
This PR fixes the names of the Rosé Pine themes.

We want to keep the Unicode "é" in the theme name, both because this is
the actual name of the theme, and also to maintain parity with Zed1.

Release Notes:

- N/A
2023-12-21 22:45:29 -05:00
Marshall Bowers
afcf6c6852 Map textLink.activeForeground from VS Code to link_text_hover 2023-12-19 18:29:27 -05:00
Marshall Bowers
912f7e6c1a
Add ability to warn on missing theme values (#3705)
This PR adds the ability to warn in the `theme_importer` when a theme is
missing values.

Providing the `--warn-on-missing` flag to the `theme_importer` will
print a warning for missing theme value when printing the theme.

```sh
cargo run -p theme_importer -- --warn-on-missing
```

Release Notes:

- N/A
2023-12-18 17:18:49 -05:00
Nate Butler
da7628cc1e Style wrap guides for imported themes 2023-12-18 11:16:22 -05:00
Marshall Bowers
292fac37bb Use editor.foreground from VS Code for the editor foreground 2023-12-14 17:30:37 -05:00
Marshall Bowers
8bac4e199d Emit editor_foreground color from theme converter 2023-12-14 17:28:45 -05:00
Marshall Bowers
3120a9cbea
theme_importer: Fall back to inactive tab background if no active tab background set (#3598)
This PR makes it so the `theme_importer` falls back to the inactive tab
background color if the theme doesn't not an active tab background
color.

This fixes the active tab color in the Synthwave 84 theme.

Release Notes:

- N/A
2023-12-11 17:39:46 -05:00
Marshall Bowers
e271bbe896 Use editorOverviewRuler.border for the scrollbar track border 2023-12-11 16:54:53 -05:00
Marshall Bowers
dfd1b5aa11 Use the editor background for the scrollbar track background 2023-12-11 16:39:26 -05:00
Marshall Bowers
41f55e4d0d
Use tab.inactiveForeground from VS Code for muted text color (#3593)
This PR updates the `theme_importer` to pull in the
`tab.inactiveForeground` color from VS Code to use as the muted text
color.

Release Notes:

- N/A
2023-12-11 15:57:47 -05:00
Marshall Bowers
fe46459982 Pull more scrollbar colors from VS Code 2023-12-11 12:59:03 -05:00
Marshall Bowers
3271cf1030 Map scrollbar colors from VS Code themes 2023-12-11 12:49:54 -05:00
Marshall Bowers
008c56a09b
Adjust which status colors we import from the VS Code theme (#3570)
This PR adjusts the status colors we import from the VS Code theme to be
the right ones.

Instead of looking at the Git status colors, we use the
`editorGutter.addedBackground`, `editorGutter.modifiedBackground`, and
`editorGutter.deletedBackground` colors for added, modified, and deleted
status colors, respectively.

Release Notes:

- N/A
2023-12-08 17:56:25 -05:00
Marshall Bowers
2517b1017b Weight scope matches to improve results 2023-12-08 16:35:54 -05:00
Marshall Bowers
2ef3954700 Fix function colors in Gruvbox themes 2023-12-08 16:04:58 -05:00
Marshall Bowers
27501d2929 Pull in colors for selected ghost elements 2023-12-08 14:19:56 -05:00
Marshall Bowers
77c8108f9b Use dropdown.background from VS Code for elevated surface background 2023-12-08 14:13:50 -05:00
Marshall Bowers
1c850f495c
Use breadcrumb.background from VS Code for toolbar background (#3559)
This PR changes the color we use for the toolbar background from the VS
Code theme to `breadcrumb.background`.

If this value isn't set then we fall back to the `editor.background`.

Release Notes:

- N/A
2023-12-08 14:03:18 -05:00
Marshall Bowers
1d35a815a6
Use editorGroupHeader.tabsBackground from VS Code as tab bar background (#3558)
This PR changes the color we use for the tab bar background from the VS
Code theme to `editorGroupHeader.tabsBackground`.

Release Notes:

- N/A
2023-12-08 13:50:56 -05:00
Marshall Bowers
62155f3a88 Add fallback to constant tokens for numbers 2023-12-08 13:20:00 -05:00
Marshall Bowers
ab5b76e943 Pull Git status colors from VS Code themes 2023-12-08 13:14:22 -05:00
Marshall Bowers
a5a0ad8b5c Add missing serde attribute to foreground 2023-12-08 13:13:19 -05:00
Marshall Bowers
9ac9532d3d Treat empty strings as None when deserializing VS Code themes 2023-12-08 13:12:09 -05:00
Marshall Bowers
6f064cfc36 Improve matching for constructor tokens 2023-12-08 11:34:39 -05:00
Marshall Bowers
6634a5e9f6 Improve matching for constant tokens further 2023-12-08 11:23:42 -05:00
Marshall Bowers
1b6721170a Improve matching for constant tokens 2023-12-08 11:21:40 -05:00
Marshall Bowers
63ce7cd407 Improve matching for preprocessor tokens 2023-12-08 11:17:05 -05:00
Marshall Bowers
40a95221ea Improve matching for string tokens 2023-12-08 11:13:28 -05:00
Marshall Bowers
a8a5b9524d Improve matching for punctuation tokens 2023-12-08 11:07:52 -05:00
Marshall Bowers
53d77b192a Don't match support.function for function 2023-12-08 10:48:27 -05:00
Marshall Bowers
7a9f764aa0
Add support for theme family-specific syntax mapping overrides (#3551)
This PR adds support for adding a specific set of mappings from Zed
syntax tokens to VS Code scopes for a particular theme family.

We can use this as a fallback when we aren't otherwise able to rely on
the mappings in the theme importer, as sometimes it isn't possible to
make a specific enough matcher that works across all of the themes.

Release Notes:

- N/A
2023-12-07 23:37:49 -05:00
Marshall Bowers
efb4ff816a Set tab bar and toolbar backgrounds 2023-12-07 22:32:41 -05:00
Marshall Bowers
a88372dc99 Set background colors for title and status bars 2023-12-07 22:24:10 -05:00
Marshall Bowers
f272881a6b
theme_importer: Improve syntax token matching (#3549)
This PR improves the approach we use to match syntax tokens between Zed
and VS Code in the `theme_importer`.

We now use the list of scopes assigned to each Zed syntax token to rank
the possible candidates in the VS Code and then pick the candidate with
the highest rank.

So far this has proved to provide better colors across the board, but
we'll continue to refine the matching over time.

Release Notes:

- N/A
2023-12-07 22:11:31 -05:00
Marshall Bowers
c7e19c0bcd
Emit accurate hex colors in generated themes (#3547)
This PR fixes an issues where the hex colors in the generated themes
were not correct.

We're using the [`palette`](https://crates.io/crates/palette) crate to
perform the conversions, as this gives us accurate hex codes that match
the VS Code source themes.

Release Notes:

- N/A
2023-12-07 18:34:03 -05:00
Marshall Bowers
fa223e0c6f Pull editor inlay hints from VS Code themes 2023-12-07 15:36:13 -05:00
Marshall Bowers
6a164db700 Rename members in ZedSyntaxToken 2023-12-07 14:35:58 -05:00
Marshall Bowers
8ed04fe798 Remove commented-out code in theme importer 2023-12-07 14:33:37 -05:00
Marshall Bowers
cb8c534dac
theme_importer: Support importing themes containing comments (#3298)
This PR updates the `theme_importer` with support for parsing theme
files containing comments.

Up until now we've been manually removing comments from the VS Code
theme files.

Release Notes:

- N/A
2023-11-09 19:22:15 -05:00
Nate Butler
024fb4f818 Remove unused import 2023-11-09 16:41:58 -05:00
Nate Butler
4cd37e6e62 Extend theme converter to allow multimatching against vscode colors 2023-11-09 16:38:48 -05:00
Nate Butler
1c6a960bbf Deal with special case where a VSCode theme doesn't have a foreground color
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 14:53:04 -05:00
Nate Butler
54157eb99a Finish passing Syntax from VSCode themes to Zed Themes
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 14:41:26 -05:00
Nate Butler
ff053890cf Extend UserSyntax to allow font_style and font_weight to be specified
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 13:46:08 -05:00
Marshall Bowers
978cff8095 Use IndexMap for a deterministic order when importing syntax colors 2023-11-09 13:12:36 -05:00
Marshall Bowers
1f0fccc353 Reorganize theme_importer 2023-11-09 13:07:32 -05:00
Marshall Bowers
34e31fd489 Properly emit UserHighlightStyles 2023-11-09 12:59:20 -05:00
Marshall Bowers
ff19a0ca18 Add importing-themes feature flag to theme2 crate
When this feature is set the `themes` module won't be compiled.
This allows us to run the `theme_importer` even when the `themes` module
has compile errors in it.
2023-11-09 12:49:16 -05:00