Improve matching for constructor tokens

Marshall Bowers created

Change summary

crates/theme2/src/themes/andromeda.rs      | 14 ++++
crates/theme2/src/themes/ayu.rs            | 21 ++++++
crates/theme2/src/themes/dracula.rs        |  7 ++
crates/theme2/src/themes/gruvbox.rs        | 42 +++++++++++++
crates/theme2/src/themes/night_owl.rs      | 14 ++++
crates/theme2/src/themes/noctis.rs         | 77 ++++++++++++++++++++++++
crates/theme2/src/themes/nord.rs           |  7 ++
crates/theme2/src/themes/palenight.rs      | 21 ++++++
crates/theme2/src/themes/rose_pine.rs      | 21 ++++++
crates/theme2/src/themes/solarized.rs      | 14 ++++
crates/theme2/src/themes/synthwave_84.rs   |  7 ++
crates/theme_importer/src/vscode/syntax.rs |  5 +
12 files changed, 249 insertions(+), 1 deletion(-)

Detailed changes

crates/theme2/src/themes/andromeda.rs 🔗

@@ -95,6 +95,13 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf92672ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis".into(),
                                 UserHighlightStyle {
@@ -292,6 +299,13 @@ pub fn andromeda() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xf92672ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/ayu.rs 🔗

@@ -108,6 +108,13 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x55b4d4ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "embedded".into(),
                                 UserHighlightStyle {
@@ -397,6 +404,13 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x5ccfe6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "embedded".into(),
                                 UserHighlightStyle {
@@ -686,6 +700,13 @@ pub fn ayu() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x39bae6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "embedded".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/dracula.rs 🔗

@@ -101,6 +101,13 @@ pub fn dracula() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "constructor".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0xff79c6ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "emphasis".into(),
                             UserHighlightStyle {

crates/theme2/src/themes/gruvbox.rs 🔗

@@ -98,6 +98,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {
@@ -362,6 +369,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {
@@ -626,6 +640,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x8ec07cff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {
@@ -890,6 +911,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {
@@ -1154,6 +1182,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {
@@ -1418,6 +1453,13 @@ pub fn gruvbox() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x427b58ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis.strong".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/night_owl.rs 🔗

@@ -109,6 +109,13 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xcaece6ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -350,6 +357,13 @@ pub fn night_owl() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x994cc3ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/noctis.rs 🔗

@@ -101,6 +101,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -360,6 +367,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -619,6 +633,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe64100ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -878,6 +899,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe64100ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -1137,6 +1165,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe64100ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -1396,6 +1431,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xc37455ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -1655,6 +1697,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -1914,6 +1963,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -2173,6 +2229,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -2432,6 +2495,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -2691,6 +2761,13 @@ pub fn noctis() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xe66533ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/nord.rs 🔗

@@ -107,6 +107,13 @@ pub fn nord() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "constructor".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x81a1c1ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "function".into(),
                             UserHighlightStyle {

crates/theme2/src/themes/palenight.rs 🔗

@@ -108,6 +108,13 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5572ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis".into(),
                                 UserHighlightStyle {
@@ -376,6 +383,13 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5572ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis".into(),
                                 UserHighlightStyle {
@@ -644,6 +658,13 @@ pub fn palenight() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0xff5572ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "emphasis".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/rose_pine.rs 🔗

@@ -110,6 +110,13 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x9ccfd8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -350,6 +357,13 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x9ccfd8ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {
@@ -590,6 +604,13 @@ pub fn rose_pine() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x56949fff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "function".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/solarized.rs 🔗

@@ -103,6 +103,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x268bd2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "embedded".into(),
                                 UserHighlightStyle {
@@ -354,6 +361,13 @@ pub fn solarized() -> UserThemeFamily {
                                     ..Default::default()
                                 },
                             ),
+                            (
+                                "constructor".into(),
+                                UserHighlightStyle {
+                                    color: Some(rgba(0x268bd2ff).into()),
+                                    ..Default::default()
+                                },
+                            ),
                             (
                                 "embedded".into(),
                                 UserHighlightStyle {

crates/theme2/src/themes/synthwave_84.rs 🔗

@@ -92,6 +92,13 @@ pub fn synthwave_84() -> UserThemeFamily {
                                 ..Default::default()
                             },
                         ),
+                        (
+                            "constructor".into(),
+                            UserHighlightStyle {
+                                color: Some(rgba(0x72f1b8ff).into()),
+                                ..Default::default()
+                            },
+                        ),
                         (
                             "function".into(),
                             UserHighlightStyle {

crates/theme_importer/src/vscode/syntax.rs 🔗

@@ -188,7 +188,10 @@ impl ZedSyntaxToken {
             ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"],
             ZedSyntaxToken::Constant => vec!["constant", "constant.language", "constant.character"],
             ZedSyntaxToken::Constructor => {
-                vec!["entity.name.function.definition.special.constructor"]
+                vec![
+                    "entity.name.tag",
+                    "entity.name.function.definition.special.constructor",
+                ]
             }
             ZedSyntaxToken::Embedded => vec!["meta.embedded"],
             ZedSyntaxToken::Emphasis => vec!["markup.italic"],