Skip to content

Instantly share code, notes, and snippets.

@bdsqqq
Last active May 16, 2024 00:57
Show Gist options
  • Save bdsqqq/a54f73271bc23096e4af8daec92b9229 to your computer and use it in GitHub Desktop.
Save bdsqqq/a54f73271bc23096e4af8daec92b9229 to your computer and use it in GitHub Desktop.
Vesper theme for zed.dev
{
"$schema": "https://zed.dev/schema/themes/v0.1.0.json",
"name": "Vesper",
"author": "Rauno Freiberg",
"themes": [
{
"name": "Vesper",
"appearance": "dark",
"style": {
"border": "#101010",
"border.variant": "#101010",
"border.focused": "#FFC799",
"border.selected": "#FFC799",
"border.transparent": null,
"border.disabled": "#101010",
"elevated_surface.background": "#101010",
"surface.background": "#101010",
"background": "#101010",
"element.background": "#101010",
"element.hover": "#282828",
"element.active": "#282828",
"element.selected": "#232323",
"element.disabled": "#101010",
"drop_target.background": null,
"ghost_element.background": null,
"ghost_element.hover": "#282828",
"ghost_element.active": null,
"ghost_element.selected": "#232323",
"ghost_element.disabled": null,
"text": "#FFFFFF",
"text.muted": "#A0A0A0",
"text.placeholder": "#7E7E7E",
"text.disabled": "#7E7E7E",
"text.accent": "#FFC799",
"icon": "#FFFFFF",
"icon.muted": "#A0A0A0",
"icon.disabled": "#7E7E7E",
"icon.placeholder": "#7E7E7E",
"icon.accent": "#FFC799",
"status_bar.background": "#101010",
"title_bar.background": "#101010",
"toolbar.background": "#101010",
"tab_bar.background": "#101010",
"tab.inactive_background": "#101010",
"tab.active_background": "#161616",
"search.match_background": "#575757",
"panel.background": "#101010",
"panel.focused_border": "#FF",
"pane.focused_border": "#FFC799",
"scrollbar_thumb.background": "#34343480",
"scrollbar.thumb.hover_background": "#343434",
"scrollbar.thumb.border": "#34343480",
"scrollbar.track.background": "#101010",
"scrollbar.track.border": "#101010",
"editor.foreground": "#FFFFFF",
"editor.background": "#101010",
"editor.gutter.background": "#101010",
"editor.subheader.background": "#101010",
"editor.active_line.background": "#101010",
"editor.highlighted_line.background": "#101010",
"editor.line_number": "#505050",
"editor.active_line_number": "#FFF",
"editor.invisible": null,
"editor.wrap_guide": null,
"editor.active_wrap_guide": null,
"editor.document_highlight.read_background": "#282828",
"editor.document_highlight.write_background": "#282828",
"terminal.background": "#101010",
"terminal.foreground": "#A0A0A0",
"terminal.bright_foreground": "#FFFFFF",
"terminal.dim_foreground": "#7E7E7E",
"terminal.ansi.black": "#101010",
"terminal.ansi.bright_black": "#7E7E7E",
"terminal.ansi.dim_black": null,
"terminal.ansi.red": "#f5a191",
"terminal.ansi.bright_red": "#ff8080",
"terminal.ansi.dim_red": null,
"terminal.ansi.green": "#90b99f",
"terminal.ansi.bright_green": "#99FFE4",
"terminal.ansi.dim_green": null,
"terminal.ansi.yellow": "#e6b99d",
"terminal.ansi.bright_yellow": "#FFC799",
"terminal.ansi.dim_yellow": null,
"terminal.ansi.blue": "#aca1cf",
"terminal.ansi.bright_blue": "#b9aeda",
"terminal.ansi.dim_blue": null,
"terminal.ansi.magenta": "#e29eca",
"terminal.ansi.bright_magenta": "#ecaad6",
"terminal.ansi.dim_magenta": null,
"terminal.ansi.cyan": "#ea83a5",
"terminal.ansi.bright_cyan": "#f591b2",
"terminal.ansi.dim_cyan": null,
"terminal.ansi.white": "#A0A0A0",
"terminal.ansi.bright_white": "#ffffff",
"terminal.ansi.dim_white": null,
"link_text.hover": "#FFCFA8",
"conflict": null,
"conflict.background": null,
"conflict.border": null,
"created": "#99FFE4",
"created.background": null,
"created.border": null,
"deleted": "#FF8080",
"deleted.background": null,
"deleted.border": null,
"error": "#FF8080",
"error.background": null,
"error.border": null,
"hidden": null,
"hidden.background": null,
"hidden.border": null,
"hint": "#A0A0A0",
"hint.background": "#1C1C1C",
"hint.border": null,
"ignored": null,
"ignored.background": null,
"ignored.border": null,
"info": null,
"info.background": null,
"info.border": null,
"modified": "#FFC799",
"modified.background": null,
"modified.border": null,
"predictive": "#585858",
"predictive.background": null,
"predictive.border": null,
"renamed": null,
"renamed.background": null,
"renamed.border": null,
"success": null,
"success.background": null,
"success.border": null,
"unreachable": null,
"unreachable.background": null,
"unreachable.border": null,
"warning": "#FFC799",
"warning.background": null,
"warning.border": null,
"players": [],
"syntax": {
"attribute": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#8b8b8b94",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#8b8b8b94",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#FFF",
"font_style": "italic",
"font_weight": null
},
"emphasis.strong": {
"color": "#FFF",
"font_style": null,
"font_weight": 700
},
"function": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"keyword": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#FFF",
"font_style": null,
"font_weight": null
},
"link_uri": {
"color": "#FFF",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#99FFE4",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#99FFE4",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#99FFE4",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#99FFE4",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#99FFE4",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"type": {
"color": "#FFC799",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#FFF",
"font_style": null,
"font_weight": null
},
"variable.special": {
"color": "#A0A0A0",
"font_style": null,
"font_weight": null
}
}
}
}
]
}
@Moshyfawn
Copy link

The copilot suggestions appear in the same colour as the rest of the text - #FFFFFF. Updating editor.foreground to a different colour sort of fixes this, but it forces some instances of text like JSON field names to be the same colour, which isn't great.

I guess it's Zed's lack of extensibility in this case, unfortunately.

- "editor.foreground": "#FFFFFF"
+ "editor.foreground": "#505050"

vesper-copilot-slate
vesper-copilot-white

@bdsqqq
Copy link
Author

bdsqqq commented Feb 15, 2024

@Moshyfawn Maybe JSON keys OR copilot's inlay hints could be targeted by one of the syntax objects at the end of the document? Can test later but not sure...
Lack of docs from zed really makes this more difficult

@Moshyfawn
Copy link

Moshyfawn commented Feb 15, 2024

@Moshyfawn Maybe JSON keys OR copilot's inlay hints could be targeted by one of the syntax objects at the end of the document? Can test later but not sure... Lack of docs from zed really makes this more difficult

I'm going to try a couple of things in a few 💯 because, yeah, some of the fields don't even have a description to go by. I might try to document them at some point.

@Moshyfawn
Copy link

By the way, Zed has released support for extensions and I threw together this repo based on the Zed's extension standards that can be submitted to be included in their extensions repo to be able to easily download it in the editor. I added you and rauno as members and elaborated on my idea in raunofreiberg/vesper#9 for transparency.

@Moshyfawn
Copy link

I have found out the suggestions color:

-  "predictive": null,
+  "predictive": "#585858"

@bdsqqq
Copy link
Author

bdsqqq commented Mar 14, 2024

I have found out the suggestions color:

-  "predictive": null,
+  "predictive": "#585858"

tysm, updated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment