mirror of
https://github.com/max-sixty/worktrunk.git
synced 2026-09-14 20:00:38 +08:00
1d85de945f
## Summary - Migrate from static CSS syntax highlighting to Zola's giallo engine with custom `worktrunk-light.json` theme - Replace hardcoded `syntax-light.css` / `syntax-dark.css` with theme-based class generation - Design a warm "sunlit workshop" palette: amber commands, gold strings, chartreuse quoted strings, rusty constants - Add CSS sibling selector to differentiate quoted from bare strings (giallo tokenizes both as `z-string`) ## Test plan - [ ] Verify syntax colors on `/switch/` (bash: commands, flags, strings, quoted strings) - [ ] Verify TOML blocks on `/config/` (section headers, keys, values) - [ ] Verify dark mode is unaffected (quoted string CSS rule scoped to `prefers-color-scheme: light`) - [ ] Check all tests pass (`cargo test`) > _This was written by Claude Code on behalf of @max-sixty_ --------- Co-authored-by: Claude <noreply@anthropic.com>
275 lines
5.7 KiB
JSON
275 lines
5.7 KiB
JSON
{
|
|
"name": "worktrunk-light",
|
|
"displayName": "Worktrunk Light",
|
|
"type": "light",
|
|
"colors": {
|
|
"foreground": "#3d3632",
|
|
"background": "#ffffff"
|
|
},
|
|
"tokenColors": [
|
|
{
|
|
"settings": {
|
|
"foreground": "#3d3632",
|
|
"background": "#ffffff"
|
|
}
|
|
},
|
|
{
|
|
"name": "Text",
|
|
"scope": "variable.parameter.function",
|
|
"settings": {
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Comments",
|
|
"scope": "comment, punctuation.definition.comment",
|
|
"settings": {
|
|
"foreground": "#7a756e",
|
|
"fontStyle": "italic"
|
|
}
|
|
},
|
|
{
|
|
"name": "String Punctuation",
|
|
"scope": "punctuation.definition.string",
|
|
"settings": {
|
|
"foreground": "#588a10"
|
|
}
|
|
},
|
|
{
|
|
"name": "Other Punctuation",
|
|
"scope": "punctuation.definition.variable, punctuation.definition.parameters, punctuation.definition.array",
|
|
"settings": {
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Operators",
|
|
"scope": "keyword.operator",
|
|
"settings": {
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Keywords",
|
|
"scope": "keyword",
|
|
"settings": {
|
|
"foreground": "#a03c15"
|
|
}
|
|
},
|
|
{
|
|
"name": "Variables",
|
|
"scope": "variable",
|
|
"settings": {
|
|
"foreground": "#7a5230"
|
|
}
|
|
},
|
|
{
|
|
"name": "Functions",
|
|
"scope": "entity.name.function, meta.require, support.function.any-method",
|
|
"settings": {
|
|
"foreground": "#b07800",
|
|
"fontStyle": "bold"
|
|
}
|
|
},
|
|
{
|
|
"name": "Classes",
|
|
"scope": "support.class, entity.name.class, entity.name.type.class",
|
|
"settings": {
|
|
"foreground": "#7a5230"
|
|
}
|
|
},
|
|
{
|
|
"name": "Methods",
|
|
"scope": "keyword.other.special-method",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Storage",
|
|
"scope": "storage",
|
|
"settings": {
|
|
"foreground": "#a03c15",
|
|
"fontStyle": "bold"
|
|
}
|
|
},
|
|
{
|
|
"name": "Support",
|
|
"scope": "support.function",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Strings, Inherited Class",
|
|
"scope": "string, constant.other.symbol, entity.other.inherited-class",
|
|
"settings": {
|
|
"foreground": "#947a00"
|
|
}
|
|
},
|
|
{
|
|
"name": "Integers",
|
|
"scope": "constant.numeric",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Constants",
|
|
"scope": "constant",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Tags",
|
|
"scope": "entity.name.tag",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Attributes",
|
|
"scope": "entity.other.attribute-name",
|
|
"settings": {
|
|
"foreground": "#7a5230"
|
|
}
|
|
},
|
|
{
|
|
"name": "Attribute IDs",
|
|
"scope": "entity.other.attribute-name.id, punctuation.definition.entity",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Selector",
|
|
"scope": "meta.selector",
|
|
"settings": {
|
|
"foreground": "#a03c15"
|
|
}
|
|
},
|
|
{
|
|
"name": "Headings",
|
|
"scope": "markup.heading punctuation.definition.heading, entity.name.section",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Units",
|
|
"scope": "keyword.other.unit",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Bold",
|
|
"scope": "markup.bold, punctuation.definition.bold",
|
|
"settings": {
|
|
"fontStyle": "bold",
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Italic",
|
|
"scope": "markup.italic, punctuation.definition.italic",
|
|
"settings": {
|
|
"fontStyle": "italic",
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Code",
|
|
"scope": "markup.raw.inline",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Link Text",
|
|
"scope": "string.other.link, punctuation.definition.string.end.markdown",
|
|
"settings": {
|
|
"foreground": "#a03c15"
|
|
}
|
|
},
|
|
{
|
|
"name": "Link Url",
|
|
"scope": "meta.link",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Lists",
|
|
"scope": "markup.list",
|
|
"settings": {
|
|
"foreground": "#7a5230"
|
|
}
|
|
},
|
|
{
|
|
"name": "Quotes",
|
|
"scope": "markup.quote",
|
|
"settings": {
|
|
"foreground": "#4d5a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Separator",
|
|
"scope": "meta.separator",
|
|
"settings": {
|
|
"foreground": "#3d3632"
|
|
}
|
|
},
|
|
{
|
|
"name": "Inserted",
|
|
"scope": "markup.inserted",
|
|
"settings": {
|
|
"foreground": "#4d5a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Deleted",
|
|
"scope": "markup.deleted",
|
|
"settings": {
|
|
"foreground": "#a03c15"
|
|
}
|
|
},
|
|
{
|
|
"name": "Changed",
|
|
"scope": "markup.changed",
|
|
"settings": {
|
|
"foreground": "#b07800"
|
|
}
|
|
},
|
|
{
|
|
"name": "Regular Expressions",
|
|
"scope": "string.regexp",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Escape Characters",
|
|
"scope": "constant.character.escape",
|
|
"settings": {
|
|
"foreground": "#b05a20"
|
|
}
|
|
},
|
|
{
|
|
"name": "Embedded",
|
|
"scope": "punctuation.section.embedded, variable.interpolation",
|
|
"settings": {
|
|
"foreground": "#7a5230"
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid",
|
|
"scope": "invalid.illegal, invalid.broken, invalid.deprecated, invalid.unimplemented",
|
|
"settings": {
|
|
"foreground": "#a03c15"
|
|
}
|
|
}
|
|
]
|
|
}
|