mirror of
https://github.com/patriceckhart/zot.git
synced 2026-06-26 21:36:31 +02:00
- User themes from $ZOT_HOME/themes/*.json with partial overrides (colors, syntax, spinner) and dark/light fallback. - /settings color-theme picker; selection persisted in config.json. - Theme-only extensions: extension.json plus theme.json (or themes/theme.json) load without spawning a subprocess. - write-zot-themes built-in skill and docs/themes.md. - README, extensions docs, and embedded docs index updated.
126 lines
4.6 KiB
JSON
126 lines
4.6 KiB
JSON
{
|
|
"name": "vercel",
|
|
"description": "Vercel-inspired zot theme based on gantoreno/vscode-vercel. Uses the same core palette as the VS Code theme: pink keywords, blue constants/links, purple functions, green strings/success, amber warnings, and neutral Vercel grays for chrome.",
|
|
"color_descriptions": {
|
|
"fg": "Default foreground text, based on Vercel editor.foreground / terminal.foreground.",
|
|
"muted": "Secondary text, dividers, gutters, footers, inactive hints, based on Vercel foreground/sidebar/status gray.",
|
|
"accent": "Primary UI accent for prompt bars, bullets, headings, and active markers; mapped to Vercel keyword pink for more visible theme identity.",
|
|
"user": "User role label color; kept for compatibility with older UI surfaces.",
|
|
"user_bubble_bg": "Background behind user message rows, based on Vercel editor.selectionBackground / lineHighlightBackground.",
|
|
"user_bubble_fg": "Text foreground inside user message rows.",
|
|
"assistant": "Assistant/zot accent color and welcome label, mapped to Vercel blue.",
|
|
"tool": "Tool names, successful marks, additions in diffs, based on Vercel green.",
|
|
"tool_out": "Plain tool output text.",
|
|
"error": "Errors, refused tool calls, deletions in diffs, based on Vercel error/list error colors.",
|
|
"warning": "Warnings and high context-usage state, based on Vercel modified/warning amber.",
|
|
"spinner": "Secondary animated/accent color, based on Vercel magenta/purple token color.",
|
|
"selection_bg": "Background for highlighted menu/list rows, based on Vercel selection background.",
|
|
"selection_fg": "Foreground for highlighted menu/list rows.",
|
|
"syntax_base_style": "Base Chroma style name used before syntax overrides.",
|
|
"syntax": "Token colors for markdown code fences, file previews, and diff code, mapped from VS Code tokenColors. Values are Chroma style entries."
|
|
},
|
|
"colors": {
|
|
"dark": {
|
|
"fg": 255,
|
|
"muted": 247,
|
|
"accent": 204,
|
|
"user": 141,
|
|
"user_bubble_bg": "#1a1a1a",
|
|
"user_bubble_fg": 255,
|
|
"assistant": 75,
|
|
"tool": 77,
|
|
"tool_out": 247,
|
|
"error": 204,
|
|
"warning": 208,
|
|
"spinner": 141,
|
|
"selection_bg": 236,
|
|
"selection_fg": 255,
|
|
"syntax_base_style": "monokai",
|
|
"syntax": {
|
|
"keyword": "#f05b8d",
|
|
"keyword_constant": "#62a6ff",
|
|
"keyword_declaration": "#f05b8d",
|
|
"keyword_namespace": "#f05b8d",
|
|
"keyword_reserved": "#f05b8d",
|
|
"keyword_type": "#b675f1",
|
|
"name_builtin": "#62a6ff",
|
|
"name_function": "#b675f1",
|
|
"name_class": "#62a6ff",
|
|
"name_decorator": "#b675f1",
|
|
"literal_string": "#58c760",
|
|
"literal_string_escape": "#62a6ff bold",
|
|
"literal_number": "#62a6ff",
|
|
"comment": "#a1a1a1 italic",
|
|
"comment_preproc": "#b675f1",
|
|
"operator": "#f05b8d",
|
|
"punctuation": "#ededed",
|
|
"text": "#ededed"
|
|
},
|
|
"spinner_frames": [
|
|
"\u25d0",
|
|
"\u25d3",
|
|
"\u25d1",
|
|
"\u25d2"
|
|
],
|
|
"spinner_messages": [
|
|
"shipping pixels",
|
|
"deploying thoughts",
|
|
"warming edge cache",
|
|
"building preview",
|
|
"checking redirects"
|
|
],
|
|
"spinner_interval_ms": 120
|
|
},
|
|
"light": {
|
|
"fg": 233,
|
|
"muted": 242,
|
|
"accent": 161,
|
|
"user": 92,
|
|
"user_bubble_bg": "#f5f5f5",
|
|
"user_bubble_fg": 233,
|
|
"assistant": 27,
|
|
"tool": 29,
|
|
"tool_out": 242,
|
|
"error": 161,
|
|
"warning": 130,
|
|
"spinner": 92,
|
|
"selection_bg": 251,
|
|
"selection_fg": 233,
|
|
"syntax_base_style": "github",
|
|
"syntax": {
|
|
"keyword": "#b32c62",
|
|
"keyword_constant": "#005ee9",
|
|
"keyword_declaration": "#b32c62",
|
|
"keyword_namespace": "#b32c62",
|
|
"keyword_reserved": "#b32c62",
|
|
"keyword_type": "#7200c4",
|
|
"name_builtin": "#005ee9",
|
|
"name_function": "#7200c4",
|
|
"name_class": "#005ee9",
|
|
"name_decorator": "#7200c4",
|
|
"literal_string": "#397c3b",
|
|
"literal_string_escape": "#005ee9 bold",
|
|
"literal_number": "#005ee9",
|
|
"comment": "#666666 italic",
|
|
"comment_preproc": "#7200c4",
|
|
"operator": "#b32c62",
|
|
"punctuation": "#171717",
|
|
"text": "#171717"
|
|
},
|
|
"spinner_frames": [
|
|
"\u25d0",
|
|
"\u25d3",
|
|
"\u25d1",
|
|
"\u25d2"
|
|
],
|
|
"spinner_messages": [
|
|
"shipping pixels",
|
|
"deploying thoughts",
|
|
"warming edge cache",
|
|
"building preview",
|
|
"checking redirects"
|
|
],
|
|
"spinner_interval_ms": 120
|
|
}
|
|
}
|
|
}
|