Pull hint colors from VS Code themes (#3543)
This PR updates the `theme_importer` to pull hint colors from VS Code themes. Release Notes: - N/A
This commit is contained in:
commit
d23bba5b18
15 changed files with 183 additions and 177 deletions
|
@ -58,6 +58,7 @@ pub fn andromeda() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xfc634cff).into()),
|
||||
error: Some(rgba(0xfc634cff).into()),
|
||||
hidden: Some(rgba(0x746f77ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -201,6 +202,7 @@ pub fn andromeda() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xfc634cff).into()),
|
||||
error: Some(rgba(0xfc634cff).into()),
|
||||
hidden: Some(rgba(0x746f77ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn ayu() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe65050ff).into()),
|
||||
error: Some(rgba(0xe65050ff).into()),
|
||||
hidden: Some(rgba(0x8a9199ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -324,6 +325,7 @@ pub fn ayu() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xff6565ff).into()),
|
||||
error: Some(rgba(0xff6565ff).into()),
|
||||
hidden: Some(rgba(0x707a8cff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -586,6 +588,7 @@ pub fn ayu() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xd95757ff).into()),
|
||||
error: Some(rgba(0xd95757ff).into()),
|
||||
hidden: Some(rgba(0x565b66ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn dracula() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xff5555ff).into()),
|
||||
error: Some(rgba(0xff5555ff).into()),
|
||||
hidden: Some(rgba(0x6272a4ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffb76bff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -61,6 +61,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xfb4833ff).into()),
|
||||
error: Some(rgba(0xfb4833ff).into()),
|
||||
hidden: Some(rgba(0xa89984ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -251,6 +252,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xfb4833ff).into()),
|
||||
error: Some(rgba(0xfb4833ff).into()),
|
||||
hidden: Some(rgba(0xa89984ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -441,6 +443,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xfb4833ff).into()),
|
||||
error: Some(rgba(0xfb4833ff).into()),
|
||||
hidden: Some(rgba(0xa89984ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -631,6 +634,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0x9d0006ff).into()),
|
||||
error: Some(rgba(0x9d0006ff).into()),
|
||||
hidden: Some(rgba(0x7c6f64ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -821,6 +825,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0x9d0006ff).into()),
|
||||
error: Some(rgba(0x9d0006ff).into()),
|
||||
hidden: Some(rgba(0x7c6f64ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -1011,6 +1016,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0x9d0006ff).into()),
|
||||
error: Some(rgba(0x9d0006ff).into()),
|
||||
hidden: Some(rgba(0x7c6f64ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn night_owl() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xef524fff).into()),
|
||||
error: Some(rgba(0xef524fff).into()),
|
||||
hidden: Some(rgba(0x5f7e97ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -242,6 +243,7 @@ pub fn night_owl() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0x403f53ff).into()),
|
||||
error: Some(rgba(0x403f53ff).into()),
|
||||
hidden: Some(rgba(0x403f53ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xdaa900ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -63,6 +63,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0x9fb6c6ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa857ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -282,6 +283,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0xbbaab0ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa857ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -501,6 +503,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xff3f00ff).into()),
|
||||
error: Some(rgba(0xff3f00ff).into()),
|
||||
hidden: Some(rgba(0x70838dff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xe07a52ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -720,6 +723,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xff3f00ff).into()),
|
||||
error: Some(rgba(0xff3f00ff).into()),
|
||||
hidden: Some(rgba(0x74708dff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xe07a52ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -939,6 +943,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xff3f00ff).into()),
|
||||
error: Some(rgba(0xff3f00ff).into()),
|
||||
hidden: Some(rgba(0x878476ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xe07a52ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -1158,6 +1163,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xb96245ff).into()),
|
||||
error: Some(rgba(0xb96245ff).into()),
|
||||
hidden: Some(rgba(0x96a8b6ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa857ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -1377,6 +1383,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0x87a7abff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa487ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -1596,6 +1603,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0x87a7abff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa487ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -1815,6 +1823,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0x87a7abff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa487ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -2034,6 +2043,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0xa9a5c0ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa857ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -2253,6 +2263,7 @@ pub fn noctis() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xe34d1bff).into()),
|
||||
error: Some(rgba(0xe34d1bff).into()),
|
||||
hidden: Some(rgba(0xb3a5c0ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0xffa857ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn nord() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xbf616aff).into()),
|
||||
error: Some(rgba(0xbf616aff).into()),
|
||||
hidden: Some(rgba(0xd8dee966).into()),
|
||||
hint: Some(rgba(0xd8dee9ff).into()),
|
||||
warning: Some(rgba(0xebcb8bff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn palenight() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xef524fff).into()),
|
||||
error: Some(rgba(0xef524fff).into()),
|
||||
hidden: Some(rgba(0x9199c8ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -268,6 +269,7 @@ pub fn palenight() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xef524fff).into()),
|
||||
error: Some(rgba(0xef524fff).into()),
|
||||
hidden: Some(rgba(0x9199c8ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -474,6 +476,7 @@ pub fn palenight() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xef524fff).into()),
|
||||
error: Some(rgba(0xef524fff).into()),
|
||||
hidden: Some(rgba(0x9199c8ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
|
|
@ -62,6 +62,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xeb6f92ff).into()),
|
||||
error: Some(rgba(0xeb6f92ff).into()),
|
||||
hidden: Some(rgba(0x908caaff).into()),
|
||||
hint: Some(rgba(0x908caaff).into()),
|
||||
warning: Some(rgba(0xf5c177ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -228,6 +229,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xeb6f92ff).into()),
|
||||
error: Some(rgba(0xeb6f92ff).into()),
|
||||
hidden: Some(rgba(0x908caaff).into()),
|
||||
hint: Some(rgba(0x908caaff).into()),
|
||||
warning: Some(rgba(0xf5c177ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
@ -394,6 +396,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xb3627aff).into()),
|
||||
error: Some(rgba(0xb3627aff).into()),
|
||||
hidden: Some(rgba(0x797593ff).into()),
|
||||
hint: Some(rgba(0x797593ff).into()),
|
||||
warning: Some(rgba(0xea9d34ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -59,6 +59,7 @@ pub fn solarized() -> UserThemeFamily {
|
|||
deleted: Some(rgba(0xffeaeaff).into()),
|
||||
error: Some(rgba(0xffeaeaff).into()),
|
||||
hidden: Some(rgba(0x93a1a1ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
@ -243,6 +244,7 @@ pub fn solarized() -> UserThemeFamily {
|
|||
},
|
||||
status: StatusColorsRefinement {
|
||||
hidden: Some(rgba(0x586e75ff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
},
|
||||
syntax: Some(UserSyntaxTheme {
|
||||
|
|
|
@ -47,6 +47,7 @@ pub fn synthwave_84() -> UserThemeFamily {
|
|||
status: StatusColorsRefinement {
|
||||
deleted: Some(rgba(0xfe444fff).into()),
|
||||
error: Some(rgba(0xfe444fff).into()),
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
warning: Some(rgba(0x71f1b7bb).into()),
|
||||
..Default::default()
|
||||
},
|
||||
|
|
|
@ -283,11 +283,14 @@ impl<'a> Debug for StatusColorsRefinementPrinter<'a> {
|
|||
("deleted", self.0.deleted),
|
||||
("error", self.0.error),
|
||||
("hidden", self.0.hidden),
|
||||
("hint", self.0.hint),
|
||||
("ignored", self.0.ignored),
|
||||
("info", self.0.info),
|
||||
("modified", self.0.modified),
|
||||
("predictive", self.0.predictive),
|
||||
("renamed", self.0.renamed),
|
||||
("success", self.0.success),
|
||||
("unreachable", self.0.unreachable),
|
||||
("warning", self.0.warning),
|
||||
];
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use anyhow::Result;
|
||||
use gpui::{Hsla, Rgba};
|
||||
use gpui::{rgba, Hsla, Rgba};
|
||||
use indexmap::IndexMap;
|
||||
use strum::IntoEnumIterator;
|
||||
use theme::{
|
||||
|
@ -66,6 +66,11 @@ impl VsCodeThemeConverter {
|
|||
fn convert_status_colors(&self) -> Result<StatusColorsRefinement> {
|
||||
let vscode_colors = &self.theme.colors;
|
||||
|
||||
let vscode_base_status_colors = StatusColorsRefinement {
|
||||
hint: Some(rgba(0x969696ff).into()),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
Ok(StatusColorsRefinement {
|
||||
// conflict: None,
|
||||
// created: None,
|
||||
|
@ -81,6 +86,11 @@ impl VsCodeThemeConverter {
|
|||
.tab_inactive_foreground
|
||||
.as_ref()
|
||||
.traverse(|color| try_parse_color(&color))?,
|
||||
hint: vscode_colors
|
||||
.editor_inlay_hint_foreground
|
||||
.as_ref()
|
||||
.traverse(|color| try_parse_color(&color))?
|
||||
.or(vscode_base_status_colors.hint),
|
||||
// ignored: None,
|
||||
// info: None,
|
||||
// modified: None,
|
||||
|
@ -310,63 +320,5 @@ impl VsCodeThemeConverter {
|
|||
Ok(UserSyntaxTheme {
|
||||
highlights: highlight_styles.into_iter().collect(),
|
||||
})
|
||||
|
||||
// let mut highlight_styles = IndexMap::new();
|
||||
|
||||
// for token_color in self.theme.token_colors {
|
||||
// highlight_styles.extend(token_color.highlight_styles()?);
|
||||
// }
|
||||
|
||||
// let syntax_theme = UserSyntaxTheme {
|
||||
// highlights: highlight_styles.into_iter().collect(),
|
||||
// };
|
||||
|
||||
// pub fn highlight_styles(&self) -> Result<IndexMap<String, UserHighlightStyle>> {
|
||||
// let mut highlight_styles = IndexMap::new();
|
||||
|
||||
// for syntax_token in ZedSyntaxToken::iter() {
|
||||
// let scope = syntax_token.to_scope();
|
||||
|
||||
// // let token_color =
|
||||
// }
|
||||
|
||||
// let scope = match self.scope {
|
||||
// Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()],
|
||||
// Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(),
|
||||
// None => return Ok(IndexMap::new()),
|
||||
// };
|
||||
|
||||
// for scope in &scope {
|
||||
// let Some(syntax_token) = Self::to_zed_token(&scope) else {
|
||||
// continue;
|
||||
// };
|
||||
|
||||
// let highlight_style = UserHighlightStyle {
|
||||
// color: self
|
||||
// .settings
|
||||
// .foreground
|
||||
// .as_ref()
|
||||
// .traverse(|color| try_parse_color(&color))?,
|
||||
// font_style: self
|
||||
// .settings
|
||||
// .font_style
|
||||
// .as_ref()
|
||||
// .and_then(|style| try_parse_font_style(&style)),
|
||||
// font_weight: self
|
||||
// .settings
|
||||
// .font_style
|
||||
// .as_ref()
|
||||
// .and_then(|style| try_parse_font_weight(&style)),
|
||||
// };
|
||||
|
||||
// if highlight_style.is_empty() {
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// highlight_styles.insert(syntax_token, highlight_style);
|
||||
// }
|
||||
|
||||
// Ok(highlight_styles)
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,94 +35,92 @@ pub struct VsCodeTokenColorSettings {
|
|||
|
||||
#[derive(Debug, PartialEq, Copy, Clone, EnumIter)]
|
||||
pub enum ZedSyntaxToken {
|
||||
SyntaxAttribute,
|
||||
SyntaxBoolean,
|
||||
SyntaxComment,
|
||||
SyntaxCommentDoc,
|
||||
SyntaxConstant,
|
||||
SyntaxConstructor,
|
||||
SyntaxEmbedded,
|
||||
SyntaxEmphasis,
|
||||
SyntaxEmphasisStrong,
|
||||
SyntaxEnum,
|
||||
SyntaxFunction,
|
||||
SyntaxHint,
|
||||
SyntaxKeyword,
|
||||
SyntaxLabel,
|
||||
SyntaxLinkText,
|
||||
SyntaxLinkUri,
|
||||
SyntaxNumber,
|
||||
SyntaxOperator,
|
||||
SyntaxPredictive,
|
||||
SyntaxPreproc,
|
||||
SyntaxPrimary,
|
||||
SyntaxProperty,
|
||||
SyntaxPunctuation,
|
||||
SyntaxPunctuationBracket,
|
||||
SyntaxPunctuationDelimiter,
|
||||
SyntaxPunctuationListMarker,
|
||||
SyntaxPunctuationSpecial,
|
||||
SyntaxString,
|
||||
SyntaxStringEscape,
|
||||
SyntaxStringRegex,
|
||||
SyntaxStringSpecial,
|
||||
SyntaxStringSpecialSymbol,
|
||||
SyntaxTag,
|
||||
SyntaxTextLiteral,
|
||||
SyntaxTitle,
|
||||
SyntaxType,
|
||||
SyntaxVariable,
|
||||
SyntaxVariableSpecial,
|
||||
SyntaxVariant,
|
||||
Attribute,
|
||||
Boolean,
|
||||
Comment,
|
||||
CommentDoc,
|
||||
Constant,
|
||||
Constructor,
|
||||
Embedded,
|
||||
Emphasis,
|
||||
EmphasisStrong,
|
||||
Enum,
|
||||
Function,
|
||||
Hint,
|
||||
Keyword,
|
||||
Label,
|
||||
LinkText,
|
||||
LinkUri,
|
||||
Number,
|
||||
Operator,
|
||||
Predictive,
|
||||
Preproc,
|
||||
Primary,
|
||||
Property,
|
||||
Punctuation,
|
||||
PunctuationBracket,
|
||||
PunctuationDelimiter,
|
||||
PunctuationListMarker,
|
||||
PunctuationSpecial,
|
||||
String,
|
||||
StringEscape,
|
||||
StringRegex,
|
||||
StringSpecial,
|
||||
StringSpecialSymbol,
|
||||
Tag,
|
||||
TextLiteral,
|
||||
Title,
|
||||
Type,
|
||||
Variable,
|
||||
VariableSpecial,
|
||||
Variant,
|
||||
}
|
||||
|
||||
impl std::fmt::Display for ZedSyntaxToken {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
use ZedSyntaxToken::*;
|
||||
|
||||
write!(
|
||||
f,
|
||||
"{}",
|
||||
match self {
|
||||
SyntaxAttribute => "attribute",
|
||||
SyntaxBoolean => "boolean",
|
||||
SyntaxComment => "comment",
|
||||
SyntaxCommentDoc => "comment.doc",
|
||||
SyntaxConstant => "constant",
|
||||
SyntaxConstructor => "constructor",
|
||||
SyntaxEmbedded => "embedded",
|
||||
SyntaxEmphasis => "emphasis",
|
||||
SyntaxEmphasisStrong => "emphasis.strong",
|
||||
SyntaxEnum => "enum",
|
||||
SyntaxFunction => "function",
|
||||
SyntaxHint => "hint",
|
||||
SyntaxKeyword => "keyword",
|
||||
SyntaxLabel => "label",
|
||||
SyntaxLinkText => "link_text",
|
||||
SyntaxLinkUri => "link_uri",
|
||||
SyntaxNumber => "number",
|
||||
SyntaxOperator => "operator",
|
||||
SyntaxPredictive => "predictive",
|
||||
SyntaxPreproc => "preproc",
|
||||
SyntaxPrimary => "primary",
|
||||
SyntaxProperty => "property",
|
||||
SyntaxPunctuation => "punctuation",
|
||||
SyntaxPunctuationBracket => "punctuation.bracket",
|
||||
SyntaxPunctuationDelimiter => "punctuation.delimiter",
|
||||
SyntaxPunctuationListMarker => "punctuation.list_marker",
|
||||
SyntaxPunctuationSpecial => "punctuation.special",
|
||||
SyntaxString => "string",
|
||||
SyntaxStringEscape => "string.escape",
|
||||
SyntaxStringRegex => "string.regex",
|
||||
SyntaxStringSpecial => "string.special",
|
||||
SyntaxStringSpecialSymbol => "string.special.symbol",
|
||||
SyntaxTag => "tag",
|
||||
SyntaxTextLiteral => "text.literal",
|
||||
SyntaxTitle => "title",
|
||||
SyntaxType => "type",
|
||||
SyntaxVariable => "variable",
|
||||
SyntaxVariableSpecial => "variable.special",
|
||||
SyntaxVariant => "variant",
|
||||
ZedSyntaxToken::Attribute => "attribute",
|
||||
ZedSyntaxToken::Boolean => "boolean",
|
||||
ZedSyntaxToken::Comment => "comment",
|
||||
ZedSyntaxToken::CommentDoc => "comment.doc",
|
||||
ZedSyntaxToken::Constant => "constant",
|
||||
ZedSyntaxToken::Constructor => "constructor",
|
||||
ZedSyntaxToken::Embedded => "embedded",
|
||||
ZedSyntaxToken::Emphasis => "emphasis",
|
||||
ZedSyntaxToken::EmphasisStrong => "emphasis.strong",
|
||||
ZedSyntaxToken::Enum => "enum",
|
||||
ZedSyntaxToken::Function => "function",
|
||||
ZedSyntaxToken::Hint => "hint",
|
||||
ZedSyntaxToken::Keyword => "keyword",
|
||||
ZedSyntaxToken::Label => "label",
|
||||
ZedSyntaxToken::LinkText => "link_text",
|
||||
ZedSyntaxToken::LinkUri => "link_uri",
|
||||
ZedSyntaxToken::Number => "number",
|
||||
ZedSyntaxToken::Operator => "operator",
|
||||
ZedSyntaxToken::Predictive => "predictive",
|
||||
ZedSyntaxToken::Preproc => "preproc",
|
||||
ZedSyntaxToken::Primary => "primary",
|
||||
ZedSyntaxToken::Property => "property",
|
||||
ZedSyntaxToken::Punctuation => "punctuation",
|
||||
ZedSyntaxToken::PunctuationBracket => "punctuation.bracket",
|
||||
ZedSyntaxToken::PunctuationDelimiter => "punctuation.delimiter",
|
||||
ZedSyntaxToken::PunctuationListMarker => "punctuation.list_marker",
|
||||
ZedSyntaxToken::PunctuationSpecial => "punctuation.special",
|
||||
ZedSyntaxToken::String => "string",
|
||||
ZedSyntaxToken::StringEscape => "string.escape",
|
||||
ZedSyntaxToken::StringRegex => "string.regex",
|
||||
ZedSyntaxToken::StringSpecial => "string.special",
|
||||
ZedSyntaxToken::StringSpecialSymbol => "string.special.symbol",
|
||||
ZedSyntaxToken::Tag => "tag",
|
||||
ZedSyntaxToken::TextLiteral => "text.literal",
|
||||
ZedSyntaxToken::Title => "title",
|
||||
ZedSyntaxToken::Type => "type",
|
||||
ZedSyntaxToken::Variable => "variable",
|
||||
ZedSyntaxToken::VariableSpecial => "variable.special",
|
||||
ZedSyntaxToken::Variant => "variant",
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -130,47 +128,47 @@ impl std::fmt::Display for ZedSyntaxToken {
|
|||
|
||||
impl ZedSyntaxToken {
|
||||
pub fn to_vscode(&self) -> Vec<&'static str> {
|
||||
use ZedSyntaxToken::*;
|
||||
|
||||
match self {
|
||||
SyntaxAttribute => vec!["entity.other.attribute-name"],
|
||||
SyntaxBoolean => vec!["constant.language"],
|
||||
SyntaxComment => vec!["comment"],
|
||||
SyntaxCommentDoc => vec!["comment.block.documentation"],
|
||||
SyntaxConstant => vec!["constant.character"],
|
||||
SyntaxConstructor => vec!["entity.name.function.definition.special.constructor"],
|
||||
SyntaxEmbedded => vec!["meta.embedded"],
|
||||
SyntaxEmphasis => vec!["markup.italic"],
|
||||
SyntaxEmphasisStrong => vec![
|
||||
ZedSyntaxToken::Attribute => vec!["entity.other.attribute-name"],
|
||||
ZedSyntaxToken::Boolean => vec!["constant.language"],
|
||||
ZedSyntaxToken::Comment => vec!["comment"],
|
||||
ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"],
|
||||
ZedSyntaxToken::Constant => vec!["constant.character"],
|
||||
ZedSyntaxToken::Constructor => {
|
||||
vec!["entity.name.function.definition.special.constructor"]
|
||||
}
|
||||
ZedSyntaxToken::Embedded => vec!["meta.embedded"],
|
||||
ZedSyntaxToken::Emphasis => vec!["markup.italic"],
|
||||
ZedSyntaxToken::EmphasisStrong => vec![
|
||||
"markup.bold",
|
||||
"markup.italic markup.bold",
|
||||
"markup.bold markup.italic",
|
||||
],
|
||||
SyntaxEnum => vec!["support.type.enum"],
|
||||
SyntaxFunction => vec![
|
||||
ZedSyntaxToken::Enum => vec!["support.type.enum"],
|
||||
ZedSyntaxToken::Function => vec![
|
||||
"entity.name.function",
|
||||
"variable.function",
|
||||
"support.function",
|
||||
],
|
||||
SyntaxKeyword => vec!["keyword"],
|
||||
SyntaxLabel => vec![
|
||||
ZedSyntaxToken::Keyword => vec!["keyword"],
|
||||
ZedSyntaxToken::Label => vec![
|
||||
"label",
|
||||
"entity.name",
|
||||
"entity.name.import",
|
||||
"entity.name.package",
|
||||
],
|
||||
SyntaxLinkText => vec!["markup.underline.link", "string.other.link"],
|
||||
SyntaxLinkUri => vec!["markup.underline.link", "string.other.link"],
|
||||
SyntaxNumber => vec!["constant.numeric", "number"],
|
||||
SyntaxOperator => vec!["operator", "keyword.operator"],
|
||||
SyntaxPreproc => vec!["preproc"],
|
||||
SyntaxProperty => vec![
|
||||
ZedSyntaxToken::LinkText => vec!["markup.underline.link", "string.other.link"],
|
||||
ZedSyntaxToken::LinkUri => vec!["markup.underline.link", "string.other.link"],
|
||||
ZedSyntaxToken::Number => vec!["constant.numeric", "number"],
|
||||
ZedSyntaxToken::Operator => vec!["operator", "keyword.operator"],
|
||||
ZedSyntaxToken::Preproc => vec!["preproc"],
|
||||
ZedSyntaxToken::Property => vec![
|
||||
"variable.member",
|
||||
"support.type.property-name",
|
||||
"variable.object.property",
|
||||
"variable.other.field",
|
||||
],
|
||||
SyntaxPunctuation => vec![
|
||||
ZedSyntaxToken::Punctuation => vec![
|
||||
"punctuation",
|
||||
"punctuation.section",
|
||||
"punctuation.accessor",
|
||||
|
@ -178,40 +176,46 @@ impl ZedSyntaxToken {
|
|||
"punctuation.terminator",
|
||||
"punctuation.definition.tag",
|
||||
],
|
||||
SyntaxPunctuationBracket => vec![
|
||||
ZedSyntaxToken::PunctuationBracket => vec![
|
||||
"punctuation.bracket",
|
||||
"punctuation.definition.tag.begin",
|
||||
"punctuation.definition.tag.end",
|
||||
],
|
||||
SyntaxPunctuationDelimiter => vec![
|
||||
ZedSyntaxToken::PunctuationDelimiter => vec![
|
||||
"punctuation.delimiter",
|
||||
"punctuation.separator",
|
||||
"punctuation.terminator",
|
||||
],
|
||||
SyntaxPunctuationListMarker => vec!["markup.list punctuation.definition.list.begin"],
|
||||
SyntaxPunctuationSpecial => vec!["punctuation.special"],
|
||||
SyntaxString => vec!["string"],
|
||||
SyntaxStringEscape => vec!["string.escape", "constant.character", "constant.other"],
|
||||
SyntaxStringRegex => vec!["string.regex"],
|
||||
SyntaxStringSpecial => vec!["string.special", "constant.other.symbol"],
|
||||
SyntaxStringSpecialSymbol => vec!["string.special.symbol", "constant.other.symbol"],
|
||||
SyntaxTag => vec!["tag", "entity.name.tag", "meta.tag.sgml"],
|
||||
SyntaxTextLiteral => vec!["text.literal", "string"],
|
||||
SyntaxTitle => vec!["title", "entity.name"],
|
||||
SyntaxType => vec!["entity.name.type", "support.type", "support.class"],
|
||||
SyntaxVariable => vec![
|
||||
ZedSyntaxToken::PunctuationListMarker => {
|
||||
vec!["markup.list punctuation.definition.list.begin"]
|
||||
}
|
||||
ZedSyntaxToken::PunctuationSpecial => vec!["punctuation.special"],
|
||||
ZedSyntaxToken::String => vec!["string"],
|
||||
ZedSyntaxToken::StringEscape => {
|
||||
vec!["string.escape", "constant.character", "constant.other"]
|
||||
}
|
||||
ZedSyntaxToken::StringRegex => vec!["string.regex"],
|
||||
ZedSyntaxToken::StringSpecial => vec!["string.special", "constant.other.symbol"],
|
||||
ZedSyntaxToken::StringSpecialSymbol => {
|
||||
vec!["string.special.symbol", "constant.other.symbol"]
|
||||
}
|
||||
ZedSyntaxToken::Tag => vec!["tag", "entity.name.tag", "meta.tag.sgml"],
|
||||
ZedSyntaxToken::TextLiteral => vec!["text.literal", "string"],
|
||||
ZedSyntaxToken::Title => vec!["title", "entity.name"],
|
||||
ZedSyntaxToken::Type => vec!["entity.name.type", "support.type", "support.class"],
|
||||
ZedSyntaxToken::Variable => vec![
|
||||
"variable",
|
||||
"variable.language",
|
||||
"variable.member",
|
||||
"variable.parameter.function-call",
|
||||
],
|
||||
SyntaxVariableSpecial => vec![
|
||||
ZedSyntaxToken::VariableSpecial => vec![
|
||||
"variable.special",
|
||||
"variable.member",
|
||||
"variable.annotation",
|
||||
"variable.language",
|
||||
],
|
||||
SyntaxVariant => vec!["variant"],
|
||||
ZedSyntaxToken::Variant => vec!["variant"],
|
||||
_ => vec![],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,6 +163,18 @@ pub struct VsCodeColors {
|
|||
pub editor_foreground: Option<String>,
|
||||
#[serde(rename = "editor.background")]
|
||||
pub editor_background: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.foreground")]
|
||||
pub editor_inlay_hint_foreground: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.background")]
|
||||
pub editor_inlay_hint_background: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.parameterForeground")]
|
||||
pub editor_inlay_hint_parameter_foreground: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.parameterBackground")]
|
||||
pub editor_inlay_hint_parameter_background: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.typForeground")]
|
||||
pub editor_inlay_hint_typ_foreground: Option<String>,
|
||||
#[serde(rename = "editorInlayHint.typBackground")]
|
||||
pub editor_inlay_hint_typ_background: Option<String>,
|
||||
#[serde(rename = "editorLineNumber.foreground")]
|
||||
pub editor_line_number_foreground: Option<String>,
|
||||
#[serde(rename = "editor.selectionBackground")]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue