gwen: Add Gwen theme family and make it the default
Bundle Gwen Dark (Hallowed Night) and Gwen Light in assets/themes/gwen, derived from the champion's canon palette: hallowed mist cyan for accents/functions, Gwen blue for types, violet for keywords, Camavor gold for constants, pink-stitching rose for properties, mist mint for strings over a Black Mist night base. Set Gwen as the default theme pair in settings and the shipped settings templates, surface it as the first tile in the onboarding theme picker and the theme preview gallery, and guard the family with a bundled theme regression test.
This commit is contained in:
1 parent
38490b4554
commit
b2d4f99845
8 files changed
+926
-13
No files matched your search
@@ -8,8 +8,8 @@
|
||||
// - "dark": Use the theme indicated by the "dark" field
|
||||
"theme": {
|
||||
"mode": "system",
|
||||
"light": "One Light",
|
||||
"dark": "One Dark",
|
||||
"light": "Gwen Light",
|
||||
"dark": "Gwen Dark",
|
||||
},
|
||||
"icon_theme": "Zed (Default)",
|
||||
// The name of a base set of key bindings to use.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"buffer_font_size": 15,
|
||||
"theme": {
|
||||
"mode": "system",
|
||||
"light": "One Light",
|
||||
"dark": "One Dark",
|
||||
"light": "Gwen Light",
|
||||
"dark": "Gwen Dark",
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,861 @@
|
||||
{
|
||||
"$schema": "https://zed.dev/schema/themes/v0.2.0.json",
|
||||
"name": "Gwen",
|
||||
"author": "Gwen Editor",
|
||||
"themes": [
|
||||
{
|
||||
"name": "Gwen Dark",
|
||||
"appearance": "dark",
|
||||
"style": {
|
||||
"border": "#263149ff",
|
||||
"border.variant": "#1b2434ff",
|
||||
"border.focused": "#2f8fa6ff",
|
||||
"border.selected": "#2a7e93ff",
|
||||
"border.transparent": "#00000000",
|
||||
"border.disabled": "#202a3cff",
|
||||
"elevated_surface.background": "#141c2bff",
|
||||
"surface.background": "#111826ff",
|
||||
"background": "#131a28ff",
|
||||
"element.background": "#111826ff",
|
||||
"element.hover": "#182131ff",
|
||||
"element.active": "#1f2a3dff",
|
||||
"element.selected": "#1f2a3dff",
|
||||
"element.disabled": "#111826ff",
|
||||
"drop_target.background": "#62d9e840",
|
||||
"ghost_element.background": "#00000000",
|
||||
"ghost_element.hover": "#182131ff",
|
||||
"ghost_element.active": "#1f2a3dff",
|
||||
"ghost_element.selected": "#1f2a3dff",
|
||||
"ghost_element.disabled": "#111826ff",
|
||||
"text": "#d7e0eeff",
|
||||
"text.muted": "#9daabfff",
|
||||
"text.placeholder": "#77849cff",
|
||||
"text.disabled": "#77849cff",
|
||||
"text.accent": "#62d9e8ff",
|
||||
"icon": "#d7e0eeff",
|
||||
"icon.muted": "#9daabfff",
|
||||
"icon.disabled": "#67758dff",
|
||||
"icon.placeholder": "#9daabfff",
|
||||
"icon.accent": "#62d9e8ff",
|
||||
"status_bar.background": "#131a28ff",
|
||||
"title_bar.background": "#131a28ff",
|
||||
"title_bar.inactive_background": "#10161fff",
|
||||
"toolbar.background": "#0d121bff",
|
||||
"tab_bar.background": "#111826ff",
|
||||
"tab.inactive_background": "#111826ff",
|
||||
"tab.active_background": "#0d121bff",
|
||||
"search.match_background": "#62d9e833",
|
||||
"search.active_match_background": "#d6b87866",
|
||||
"panel.background": "#111826ff",
|
||||
"panel.focused_border": null,
|
||||
"pane.focused_border": null,
|
||||
"scrollbar.thumb.background": "#93a6c440",
|
||||
"scrollbar.thumb.hover_background": "#1f2a3dff",
|
||||
"scrollbar.thumb.border": "#1b2434ff",
|
||||
"scrollbar.track.background": "#00000000",
|
||||
"scrollbar.track.border": "#10161fff",
|
||||
"editor.foreground": "#bac7dbff",
|
||||
"editor.background": "#0d121bff",
|
||||
"editor.gutter.background": "#0d121bff",
|
||||
"editor.subheader.background": "#111826ff",
|
||||
"editor.active_line.background": "#152030b3",
|
||||
"editor.highlighted_line.background": "#141d2cff",
|
||||
"editor.line_number": "#667690",
|
||||
"editor.active_line_number": "#8fd9e6",
|
||||
"editor.hover_line_number": "#a9b6ca",
|
||||
"editor.invisible": "#46536b",
|
||||
"editor.wrap_guide": "#93a6c40d",
|
||||
"editor.active_wrap_guide": "#93a6c41a",
|
||||
"editor.document_highlight.read_background": "#62d9e81a",
|
||||
"editor.document_highlight.write_background": "#44506a66",
|
||||
"terminal.background": "#0b1018ff",
|
||||
"terminal.foreground": "#bac7dbff",
|
||||
"terminal.bright_foreground": "#d7e0eeff",
|
||||
"terminal.dim_foreground": "#61708aff",
|
||||
"terminal.ansi.black": "#141b28ff",
|
||||
"terminal.ansi.bright_black": "#6e7d97ff",
|
||||
"terminal.ansi.dim_black": "#0e141eff",
|
||||
"terminal.ansi.red": "#e0708aff",
|
||||
"terminal.ansi.bright_red": "#ec93a6ff",
|
||||
"terminal.ansi.dim_red": "#9c4e60ff",
|
||||
"terminal.ansi.green": "#7fe3cdff",
|
||||
"terminal.ansi.bright_green": "#a0edddff",
|
||||
"terminal.ansi.dim_green": "#589e8fff",
|
||||
"terminal.ansi.yellow": "#d9b36aff",
|
||||
"terminal.ansi.bright_yellow": "#e6c98fff",
|
||||
"terminal.ansi.dim_yellow": "#977c4aff",
|
||||
"terminal.ansi.blue": "#6fa8f0ff",
|
||||
"terminal.ansi.bright_blue": "#93bff5ff",
|
||||
"terminal.ansi.dim_blue": "#4d75a8ff",
|
||||
"terminal.ansi.magenta": "#b79cf2ff",
|
||||
"terminal.ansi.bright_magenta": "#cbb7f6ff",
|
||||
"terminal.ansi.dim_magenta": "#806da9ff",
|
||||
"terminal.ansi.cyan": "#62d9e8ff",
|
||||
"terminal.ansi.bright_cyan": "#8ae4efff",
|
||||
"terminal.ansi.dim_cyan": "#4497a2ff",
|
||||
"terminal.ansi.white": "#c3cfe0ff",
|
||||
"terminal.ansi.bright_white": "#f2f6fbff",
|
||||
"terminal.ansi.dim_white": "#8894a8ff",
|
||||
"link_text.hover": "#62d9e8ff",
|
||||
"version_control.added": "#57d3b4ff",
|
||||
"version_control.modified": "#d9b36aff",
|
||||
"version_control.word_added": "#57d3b459",
|
||||
"version_control.word_deleted": "#e0708a66",
|
||||
"version_control.deleted": "#e0708aff",
|
||||
"version_control.conflict_marker.ours": "#7fe3cd1a",
|
||||
"version_control.conflict_marker.theirs": "#62d9e81a",
|
||||
"conflict": "#d9b36aff",
|
||||
"conflict.background": "#d9b36a1a",
|
||||
"conflict.border": "#5c4a26ff",
|
||||
"created": "#57d3b4ff",
|
||||
"created.background": "#57d3b41a",
|
||||
"created.border": "#23584aff",
|
||||
"deleted": "#e0708aff",
|
||||
"deleted.background": "#e0708a1a",
|
||||
"deleted.border": "#5c2b39ff",
|
||||
"error": "#e0708aff",
|
||||
"error.background": "#e0708a1a",
|
||||
"error.border": "#5c2b39ff",
|
||||
"hidden": "#77849cff",
|
||||
"hidden.background": "#67758d1a",
|
||||
"hidden.border": "#202a3cff",
|
||||
"hint": "#7e93b4ff",
|
||||
"hint.background": "#7e93b41a",
|
||||
"hint.border": "#2a7e93ff",
|
||||
"ignored": "#77849cff",
|
||||
"ignored.background": "#67758d1a",
|
||||
"ignored.border": "#263149ff",
|
||||
"info": "#62d9e8ff",
|
||||
"info.background": "#62d9e81a",
|
||||
"info.border": "#2a7e93ff",
|
||||
"modified": "#d9b36aff",
|
||||
"modified.background": "#d9b36a1a",
|
||||
"modified.border": "#5c4a26ff",
|
||||
"predictive": "#55688aff",
|
||||
"predictive.background": "#55688a1a",
|
||||
"predictive.border": "#23584aff",
|
||||
"renamed": "#62d9e8ff",
|
||||
"renamed.background": "#62d9e81a",
|
||||
"renamed.border": "#2a7e93ff",
|
||||
"success": "#57d3b4ff",
|
||||
"success.background": "#57d3b41a",
|
||||
"success.border": "#23584aff",
|
||||
"unreachable": "#9daabfff",
|
||||
"unreachable.background": "#93a6c41a",
|
||||
"unreachable.border": "#263149ff",
|
||||
"warning": "#d9b36aff",
|
||||
"warning.background": "#d9b36a1a",
|
||||
"warning.border": "#5c4a26ff",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "#62d9e8ff",
|
||||
"background": "#62d9e8ff",
|
||||
"selection": "#62d9e83d"
|
||||
},
|
||||
{
|
||||
"cursor": "#e89babff",
|
||||
"background": "#e89babff",
|
||||
"selection": "#e89bab3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#d6b878ff",
|
||||
"background": "#d6b878ff",
|
||||
"selection": "#d6b8783d"
|
||||
},
|
||||
{
|
||||
"cursor": "#b79cf2ff",
|
||||
"background": "#b79cf2ff",
|
||||
"selection": "#b79cf23d"
|
||||
},
|
||||
{
|
||||
"cursor": "#6fa8f0ff",
|
||||
"background": "#6fa8f0ff",
|
||||
"selection": "#6fa8f03d"
|
||||
},
|
||||
{
|
||||
"cursor": "#7fe3cdff",
|
||||
"background": "#7fe3cdff",
|
||||
"selection": "#7fe3cd3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#9aa4e8ff",
|
||||
"background": "#9aa4e8ff",
|
||||
"selection": "#9aa4e83d"
|
||||
},
|
||||
{
|
||||
"cursor": "#93a6c4ff",
|
||||
"background": "#93a6c4ff",
|
||||
"selection": "#93a6c43d"
|
||||
}
|
||||
],
|
||||
"accents": [
|
||||
"#62d9e8ff",
|
||||
"#6fa8f0ff",
|
||||
"#b79cf2ff",
|
||||
"#e89babff",
|
||||
"#d6b878ff",
|
||||
"#7fe3cdff"
|
||||
],
|
||||
"syntax": {
|
||||
"attribute": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"boolean": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment": {
|
||||
"color": "#6e7d97ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "#7e8ca3ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constant": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constructor": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"embedded": {
|
||||
"color": "#d7e0eeff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": 700
|
||||
},
|
||||
"enum": {
|
||||
"color": "#6fa8f0ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"function": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"hint": {
|
||||
"color": "#7e93b4ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#b79cf2ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"label": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"link_uri": {
|
||||
"color": "#6fa8f0ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"namespace": {
|
||||
"color": "#d7e0eeff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"number": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"operator": {
|
||||
"color": "#6fa8f0ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"predictive": {
|
||||
"color": "#64789cff",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"preproc": {
|
||||
"color": "#b79cf2ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"primary": {
|
||||
"color": "#bac7dbff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"property": {
|
||||
"color": "#e89babff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "#bac7dbff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "#c6d2e2ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "#c6d2e2ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "#e89babff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.markup": {
|
||||
"color": "#e89babff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.special": {
|
||||
"color": "#c97f92ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"selector": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"selector.pseudo": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string": {
|
||||
"color": "#7fe3cdff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "#7e8ca3ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special.symbol": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"tag": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "#7fe3cdff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"title": {
|
||||
"color": "#e89babff",
|
||||
"font_style": null,
|
||||
"font_weight": 400
|
||||
},
|
||||
"type": {
|
||||
"color": "#6fa8f0ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable": {
|
||||
"color": "#bac7dbff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.parameter": {
|
||||
"color": "#e89babff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "#d6b878ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variant": {
|
||||
"color": "#62d9e8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"diff.plus": {
|
||||
"color": "#7fe3cdff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"diff.minus": {
|
||||
"color": "#e0708aff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gwen Light",
|
||||
"appearance": "light",
|
||||
"style": {
|
||||
"border": "#c3cfe0ff",
|
||||
"border.variant": "#d9e2eeff",
|
||||
"border.focused": "#12809bff",
|
||||
"border.selected": "#0e6e86ff",
|
||||
"border.transparent": "#00000000",
|
||||
"border.disabled": "#cbd6e5ff",
|
||||
"elevated_surface.background": "#f3f6fbff",
|
||||
"surface.background": "#eff3f9ff",
|
||||
"background": "#e9eef6ff",
|
||||
"element.background": "#eff3f9ff",
|
||||
"element.hover": "#e3eaf4ff",
|
||||
"element.active": "#d5dfeeff",
|
||||
"element.selected": "#d5dfeeff",
|
||||
"element.disabled": "#eff3f9ff",
|
||||
"drop_target.background": "#0e7e9c33",
|
||||
"ghost_element.background": "#00000000",
|
||||
"ghost_element.hover": "#e3eaf4ff",
|
||||
"ghost_element.active": "#d5dfeeff",
|
||||
"ghost_element.selected": "#d5dfeeff",
|
||||
"ghost_element.disabled": "#eff3f9ff",
|
||||
"text": "#1b2534ff",
|
||||
"text.muted": "#46536bff",
|
||||
"text.placeholder": "#5e6c84ff",
|
||||
"text.disabled": "#5e6c84ff",
|
||||
"text.accent": "#0b7490ff",
|
||||
"icon": "#1b2534ff",
|
||||
"icon.muted": "#46536bff",
|
||||
"icon.disabled": "#7a879cff",
|
||||
"icon.placeholder": "#7a879cff",
|
||||
"icon.accent": "#0b7490ff",
|
||||
"status_bar.background": "#e9eef6ff",
|
||||
"title_bar.background": "#e9eef6ff",
|
||||
"title_bar.inactive_background": "#edf1f8ff",
|
||||
"toolbar.background": "#f8fafdff",
|
||||
"tab_bar.background": "#eff3f9ff",
|
||||
"tab.inactive_background": "#eff3f9ff",
|
||||
"tab.active_background": "#f8fafdff",
|
||||
"search.match_background": "#0e7e9c2e",
|
||||
"search.active_match_background": "#8a6a1f40",
|
||||
"panel.background": "#eff3f9ff",
|
||||
"panel.focused_border": null,
|
||||
"pane.focused_border": null,
|
||||
"scrollbar.thumb.background": "#46536b33",
|
||||
"scrollbar.thumb.hover_background": "#d5dfeeff",
|
||||
"scrollbar.thumb.border": "#d9e2eeff",
|
||||
"scrollbar.track.background": "#00000000",
|
||||
"scrollbar.track.border": "#edf1f8ff",
|
||||
"editor.foreground": "#2b3850ff",
|
||||
"editor.background": "#f8fafdff",
|
||||
"editor.gutter.background": "#f8fafdff",
|
||||
"editor.subheader.background": "#eff3f9ff",
|
||||
"editor.active_line.background": "#e7eef7b3",
|
||||
"editor.highlighted_line.background": "#eaf0f8ff",
|
||||
"editor.line_number": "#6d7a92",
|
||||
"editor.active_line_number": "#0b7490",
|
||||
"editor.hover_line_number": "#5a6880",
|
||||
"editor.invisible": "#9aa7bb",
|
||||
"editor.wrap_guide": "#46536b0d",
|
||||
"editor.active_wrap_guide": "#46536b1a",
|
||||
"editor.document_highlight.read_background": "#0e7e9c14",
|
||||
"editor.document_highlight.write_background": "#46536b33",
|
||||
"terminal.background": "#f8fafdff",
|
||||
"terminal.foreground": "#2b3850ff",
|
||||
"terminal.bright_foreground": "#101826ff",
|
||||
"terminal.dim_foreground": "#6c7a90ff",
|
||||
"terminal.ansi.black": "#1b2534ff",
|
||||
"terminal.ansi.bright_black": "#5a6880ff",
|
||||
"terminal.ansi.dim_black": "#33405aff",
|
||||
"terminal.ansi.red": "#b03a5bff",
|
||||
"terminal.ansi.bright_red": "#8e2e49ff",
|
||||
"terminal.ansi.dim_red": "#c97f92ff",
|
||||
"terminal.ansi.green": "#177a5eff",
|
||||
"terminal.ansi.bright_green": "#105a45ff",
|
||||
"terminal.ansi.dim_green": "#6faf9cff",
|
||||
"terminal.ansi.yellow": "#8a6a1fff",
|
||||
"terminal.ansi.bright_yellow": "#6b5218ff",
|
||||
"terminal.ansi.dim_yellow": "#b99c5fff",
|
||||
"terminal.ansi.blue": "#1d5fbfff",
|
||||
"terminal.ansi.bright_blue": "#174b97ff",
|
||||
"terminal.ansi.dim_blue": "#7ba0d6ff",
|
||||
"terminal.ansi.magenta": "#6b46c8ff",
|
||||
"terminal.ansi.bright_magenta": "#5537a0ff",
|
||||
"terminal.ansi.dim_magenta": "#a78fddff",
|
||||
"terminal.ansi.cyan": "#0a6e81ff",
|
||||
"terminal.ansi.bright_cyan": "#085a6aff",
|
||||
"terminal.ansi.dim_cyan": "#5fa3b0ff",
|
||||
"terminal.ansi.white": "#e9eef6ff",
|
||||
"terminal.ansi.bright_white": "#ffffffff",
|
||||
"terminal.ansi.dim_white": "#c3cfe0ff",
|
||||
"link_text.hover": "#0b7490ff",
|
||||
"version_control.added": "#177a5eff",
|
||||
"version_control.modified": "#8a6a1fff",
|
||||
"version_control.word_added": "#177a5e40",
|
||||
"version_control.word_deleted": "#b03a5b4d",
|
||||
"version_control.deleted": "#b03a5bff",
|
||||
"version_control.conflict_marker.ours": "#177a5e1a",
|
||||
"version_control.conflict_marker.theirs": "#0e7e9c1a",
|
||||
"conflict": "#7a5c15ff",
|
||||
"conflict.background": "#8a6a1f1a",
|
||||
"conflict.border": "#b99c5fff",
|
||||
"created": "#177a5eff",
|
||||
"created.background": "#177a5e1a",
|
||||
"created.border": "#6faf9cff",
|
||||
"deleted": "#b03a5bff",
|
||||
"deleted.background": "#b03a5b1a",
|
||||
"deleted.border": "#c97f92ff",
|
||||
"error": "#b03a5bff",
|
||||
"error.background": "#b03a5b1a",
|
||||
"error.border": "#c97f92ff",
|
||||
"hidden": "#5e6c84ff",
|
||||
"hidden.background": "#7a879c1a",
|
||||
"hidden.border": "#c3cfe0ff",
|
||||
"hint": "#526583ff",
|
||||
"hint.background": "#5a6e8c1a",
|
||||
"hint.border": "#6fb3bfff",
|
||||
"ignored": "#5e6c84ff",
|
||||
"ignored.background": "#7a879c1a",
|
||||
"ignored.border": "#c3cfe0ff",
|
||||
"info": "#0b7490ff",
|
||||
"info.background": "#0b74901a",
|
||||
"info.border": "#6fb3bfff",
|
||||
"modified": "#7a5c15ff",
|
||||
"modified.background": "#8a6a1f1a",
|
||||
"modified.border": "#b99c5fff",
|
||||
"predictive": "#8494acff",
|
||||
"predictive.background": "#8494ac1a",
|
||||
"predictive.border": "#6faf9cff",
|
||||
"renamed": "#0b7490ff",
|
||||
"renamed.background": "#0b74901a",
|
||||
"renamed.border": "#6fb3bfff",
|
||||
"success": "#177a5eff",
|
||||
"success.background": "#177a5e1a",
|
||||
"success.border": "#6faf9cff",
|
||||
"unreachable": "#46536bff",
|
||||
"unreachable.background": "#46536b1a",
|
||||
"unreachable.border": "#c3cfe0ff",
|
||||
"warning": "#7a5c15ff",
|
||||
"warning.background": "#8a6a1f1a",
|
||||
"warning.border": "#b99c5fff",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "#0b7f95ff",
|
||||
"background": "#0b7f95ff",
|
||||
"selection": "#0b7f953d"
|
||||
},
|
||||
{
|
||||
"cursor": "#b03a5bff",
|
||||
"background": "#b03a5bff",
|
||||
"selection": "#b03a5b3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#8a6a1fff",
|
||||
"background": "#8a6a1fff",
|
||||
"selection": "#8a6a1f3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#6b46c8ff",
|
||||
"background": "#6b46c8ff",
|
||||
"selection": "#6b46c83d"
|
||||
},
|
||||
{
|
||||
"cursor": "#1d5fbfff",
|
||||
"background": "#1d5fbfff",
|
||||
"selection": "#1d5fbf3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#177a5eff",
|
||||
"background": "#177a5eff",
|
||||
"selection": "#177a5e3d"
|
||||
},
|
||||
{
|
||||
"cursor": "#5a5fc8ff",
|
||||
"background": "#5a5fc8ff",
|
||||
"selection": "#5a5fc83d"
|
||||
},
|
||||
{
|
||||
"cursor": "#5a6880ff",
|
||||
"background": "#5a6880ff",
|
||||
"selection": "#5a68803d"
|
||||
}
|
||||
],
|
||||
"accents": [
|
||||
"#0b7f95ff",
|
||||
"#1d5fbfff",
|
||||
"#6b46c8ff",
|
||||
"#b03a5bff",
|
||||
"#8a6a1fff",
|
||||
"#177a5eff"
|
||||
],
|
||||
"syntax": {
|
||||
"attribute": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"boolean": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment": {
|
||||
"color": "#5d6b84ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "#55637aff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constant": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constructor": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"embedded": {
|
||||
"color": "#1b2534ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": 700
|
||||
},
|
||||
"enum": {
|
||||
"color": "#1d5fbfff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"function": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"hint": {
|
||||
"color": "#5a6e8cff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#6b46c8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"label": {
|
||||
"color": "#0b7490ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"link_uri": {
|
||||
"color": "#1d5fbfff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"namespace": {
|
||||
"color": "#1b2534ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"number": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"operator": {
|
||||
"color": "#1d5fbfff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"predictive": {
|
||||
"color": "#8494acff",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"preproc": {
|
||||
"color": "#6b46c8ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"primary": {
|
||||
"color": "#2b3850ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"property": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "#2b3850ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "#1f2b42ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "#1f2b42ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.markup": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.special": {
|
||||
"color": "#8e2e49ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"selector": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"selector.pseudo": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string": {
|
||||
"color": "#177a5eff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "#55637aff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special.symbol": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"tag": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "#177a5eff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"title": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": 400
|
||||
},
|
||||
"type": {
|
||||
"color": "#1d5fbfff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable": {
|
||||
"color": "#2b3850ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.parameter": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "#8a6a1fff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variant": {
|
||||
"color": "#0a6e81ff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"diff.plus": {
|
||||
"color": "#177a5eff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"diff.minus": {
|
||||
"color": "#b03a5bff",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -26,9 +26,10 @@ use crate::{
|
||||
theme_preview::{ThemePreviewStyle, ThemePreviewTile},
|
||||
};
|
||||
|
||||
const LIGHT_THEMES: [&str; 3] = ["One Light", "Ayu Light", "Gruvbox Light"];
|
||||
const DARK_THEMES: [&str; 3] = ["One Dark", "Ayu Dark", "Gruvbox Dark"];
|
||||
const FAMILY_NAMES: [SharedString; 3] = [
|
||||
const LIGHT_THEMES: [&str; 4] = ["Gwen Light", "One Light", "Ayu Light", "Gruvbox Light"];
|
||||
const DARK_THEMES: [&str; 4] = ["Gwen Dark", "One Dark", "Ayu Dark", "Gruvbox Dark"];
|
||||
const FAMILY_NAMES: [SharedString; 4] = [
|
||||
SharedString::new_static("Gwen"),
|
||||
SharedString::new_static("One"),
|
||||
SharedString::new_static("Ayu"),
|
||||
SharedString::new_static("Gruvbox"),
|
||||
@@ -103,7 +104,7 @@ fn render_theme_section(tab_index: &mut isize, cx: &mut App) -> impl IntoElement
|
||||
tab_index: &mut isize,
|
||||
theme_selection: &ThemeSelection,
|
||||
cx: &mut App,
|
||||
) -> [impl IntoElement; 3] {
|
||||
) -> [impl IntoElement; 4] {
|
||||
let system_appearance = SystemAppearance::global(cx);
|
||||
let theme_registry = ThemeRegistry::global(cx);
|
||||
|
||||
@@ -128,7 +129,7 @@ fn render_theme_section(tab_index: &mut isize, cx: &mut App) -> impl IntoElement
|
||||
|
||||
let themes = theme_names.map(|theme| theme_registry.get(theme).unwrap());
|
||||
|
||||
[0, 1, 2].map(|index| {
|
||||
[0, 1, 2, 3].map(|index| {
|
||||
let theme = &themes[index];
|
||||
let is_selected = theme.name == current_theme_name;
|
||||
let name = theme.name.clone();
|
||||
|
||||
@@ -322,12 +322,16 @@ impl Component for ThemePreviewTile {
|
||||
fn preview(_window: &mut Window, cx: &mut App) -> AnyElement {
|
||||
let theme_registry = ThemeRegistry::global(cx);
|
||||
|
||||
let gwen_dark = theme_registry.get("Gwen Dark");
|
||||
let gwen_light = theme_registry.get("Gwen Light");
|
||||
let one_dark = theme_registry.get("One Dark");
|
||||
let one_light = theme_registry.get("One Light");
|
||||
let gruvbox_dark = theme_registry.get("Gruvbox Dark");
|
||||
let gruvbox_light = theme_registry.get("Gruvbox Light");
|
||||
|
||||
let themes_to_preview = vec![
|
||||
gwen_dark.ok(),
|
||||
gwen_light.ok(),
|
||||
one_dark.clone().ok(),
|
||||
one_light.ok(),
|
||||
gruvbox_dark.ok(),
|
||||
|
||||
@@ -338,8 +338,8 @@ pub enum ThemeSelection {
|
||||
},
|
||||
}
|
||||
|
||||
pub const DEFAULT_LIGHT_THEME: &'static str = "One Light";
|
||||
pub const DEFAULT_DARK_THEME: &'static str = "One Dark";
|
||||
pub const DEFAULT_LIGHT_THEME: &'static str = "Gwen Light";
|
||||
pub const DEFAULT_DARK_THEME: &'static str = "Gwen Dark";
|
||||
|
||||
impl Default for ThemeSelection {
|
||||
fn default() -> Self {
|
||||
|
||||
@@ -19165,8 +19165,8 @@ mod tests {
|
||||
parsed["theme"],
|
||||
serde_json::json!({
|
||||
"mode": "system",
|
||||
"light": "One Light",
|
||||
"dark": "One Dark"
|
||||
"light": "Gwen Light",
|
||||
"dark": "Gwen Dark"
|
||||
})
|
||||
);
|
||||
|
||||
|
||||
@@ -6030,6 +6030,53 @@ mod tests {
|
||||
assert!(has_default_theme);
|
||||
}
|
||||
|
||||
#[gpui::test]
|
||||
fn test_bundled_gwen_theme(cx: &mut App) {
|
||||
cx.text_system()
|
||||
.add_fonts(vec![
|
||||
Assets
|
||||
.load("fonts/lilex/Lilex-Regular.ttf")
|
||||
.unwrap()
|
||||
.unwrap(),
|
||||
Assets
|
||||
.load("fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf")
|
||||
.unwrap()
|
||||
.unwrap(),
|
||||
])
|
||||
.unwrap();
|
||||
settings::init(cx);
|
||||
theme_settings::init(theme::LoadThemes::All(Box::new(Assets)), cx);
|
||||
|
||||
let themes = ThemeRegistry::global(cx);
|
||||
let dark = themes
|
||||
.get("Gwen Dark")
|
||||
.expect("Gwen Dark should ship as a bundled theme");
|
||||
let light = themes
|
||||
.get("Gwen Light")
|
||||
.expect("Gwen Light should ship as a bundled theme");
|
||||
assert_eq!(dark.appearance, theme::Appearance::Dark);
|
||||
assert_eq!(light.appearance, theme::Appearance::Light);
|
||||
assert_eq!(
|
||||
dark.styles.colors.editor_background,
|
||||
theme::try_parse_color("#0d121bff").unwrap()
|
||||
);
|
||||
assert_eq!(
|
||||
light.styles.colors.editor_background,
|
||||
theme::try_parse_color("#f8fafdff").unwrap()
|
||||
);
|
||||
|
||||
// With no user settings written, the fork's official theme is selected.
|
||||
let theme_selection = &ThemeSettings::get_global(cx).theme;
|
||||
assert_eq!(
|
||||
theme_selection.name(theme::Appearance::Dark).0.as_ref(),
|
||||
"Gwen Dark"
|
||||
);
|
||||
assert_eq!(
|
||||
theme_selection.name(theme::Appearance::Light).0.as_ref(),
|
||||
"Gwen Light"
|
||||
);
|
||||
}
|
||||
|
||||
#[gpui::test]
|
||||
async fn test_bundled_files_editor(cx: &mut TestAppContext) {
|
||||
let app_state = init_test(cx);
|
||||
|
||||
Reference in new issue
Block a user