You've already forked gpui-component
mirror of
https://github.com/librekeys/gpui-component.git
synced 2026-04-14 08:46:29 -07:00
## Description This adds `.show_whitespace` and `.set_show_whitespace` to the `InputState` to control whether or not to render spaces and tabs. I've also updated all the themes with the new `editor.invisible` color, this is the `comment` color with added opacity. ## Screenshot <img width="823" height="661" alt="Screenshot From 2026-01-29 14-04-52" src="https://github.com/user-attachments/assets/2f79f081-83bd-47ea-922c-01b9f22262cf" /> <img width="795" height="118" alt="Screenshot From 2026-01-29 14-05-14" src="https://github.com/user-attachments/assets/b8e22080-a88e-44b7-abd8-4c8100b1a972" /> ## How to Test `cargo run --release --example editor` Click on the "Show whitespace" button in the footer. ## Checklist - [x] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document and followed the guidelines. - [x] Reviewed the changes in this PR and confirmed AI generated code (If any) is accurate. - [x] Passed `cargo run` for story tests related to the changes. - [x] Tested macOS, ~~Windows~~ and Linux platforms performance (if the change is platform-specific) --------- Co-authored-by: Jason Lee <huacnlee@gmail.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
292 lines
8.3 KiB
JSON
292 lines
8.3 KiB
JSON
{
|
|
"$schema": "https://github.com/longbridge/gpui-component/raw/refs/heads/main/.theme-schema.json",
|
|
"name": "Solarized",
|
|
"author": "Ethan Schoonover",
|
|
"url": "https://ethanschoonover.com/solarized",
|
|
"themes": [
|
|
{
|
|
"name": "Solarized Light",
|
|
"mode": "light",
|
|
"colors": {
|
|
"accent.background": "#ebe4ce",
|
|
"accent.foreground": "#073642",
|
|
"background": "#FDF6E3",
|
|
"border": "#DCD4BC",
|
|
"foreground": "#586E75",
|
|
"input.border": "#DCD4BC",
|
|
"link.foreground": "#587573",
|
|
"list.active.background": "#586E75",
|
|
"list.active.border": "#586E75",
|
|
"list.even.background": "#EEE8D599",
|
|
"muted.background": "#eee8d5",
|
|
"muted.foreground": "#93a1a1",
|
|
"panel.background": "#fdf6e3",
|
|
"popover.background": "#fdf6e3",
|
|
"popover.foreground": "#073642",
|
|
"primary.background": "#586E75",
|
|
"primary.foreground": "#fdf6e3",
|
|
"scrollbar.background": "#EEE8D500",
|
|
"scrollbar.thumb.background": "#d5cbaf",
|
|
"secondary.background": "#EEE8D5",
|
|
"secondary.active.background": "#DCD4BC",
|
|
"secondary.foreground": "#073642",
|
|
"secondary.hover.background": "#DCD4BC88",
|
|
"tab.active.background": "#fdf6e3",
|
|
"tab.active.foreground": "#073642",
|
|
"tab.background": "#fdf6e300",
|
|
"tab.foreground": "#657b83",
|
|
"tab_bar.background": "#eee8d5",
|
|
"title_bar.background": "#f4ecd7",
|
|
"title_bar.border": "#dcd4bc",
|
|
"chart.grid": "#ebe5d4",
|
|
"base.red": "#755858",
|
|
"base.green": "#717558",
|
|
"base.yellow": "#756e58",
|
|
"base.blue": "#586975",
|
|
"base.magenta": "#755866",
|
|
"base.cyan": "#587573"
|
|
},
|
|
"highlight": {
|
|
"editor.foreground": "#586E75",
|
|
"editor.background": "#FDF6E3",
|
|
"editor.active_line.background": "#EEE8D5",
|
|
"editor.line_number": "#93A1A1",
|
|
"editor.active_line_number": "#073642",
|
|
"editor.invisible": "#93A1A166",
|
|
"conflict": "#DC322F",
|
|
"created": "#859900",
|
|
"deleted": "#DC322F",
|
|
"error": "#DC322F",
|
|
"hidden": "#93A1A1",
|
|
"hint": "#2AA198",
|
|
"ignored": "#93A1A1",
|
|
"info": "#268BD2",
|
|
"modified": "#B58900",
|
|
"predictive": "#586E75",
|
|
"renamed": "#2AA198",
|
|
"success": "#859900",
|
|
"unreachable": "#DC322F",
|
|
"warning": "#B58900",
|
|
"syntax": {
|
|
"attribute": {
|
|
"color": "#B58900"
|
|
},
|
|
"boolean": {
|
|
"color": "#CB4B16"
|
|
},
|
|
"comment": {
|
|
"color": "#93A1A1",
|
|
"font_style": "italic"
|
|
},
|
|
"comment.doc": {
|
|
"color": "#93A1A1",
|
|
"font_style": "italic"
|
|
},
|
|
"constant": {
|
|
"color": "#268BD2"
|
|
},
|
|
"constructor": {
|
|
"color": "#859900"
|
|
},
|
|
"embedded": {
|
|
"color": "#2AA198"
|
|
},
|
|
"function": {
|
|
"color": "#268BD2"
|
|
},
|
|
"keyword": {
|
|
"color": "#DC322F"
|
|
},
|
|
"link_text": {
|
|
"color": "#268BD2",
|
|
"font_style": "underline"
|
|
},
|
|
"link_uri": {
|
|
"color": "#2AA198",
|
|
"font_style": "italic"
|
|
},
|
|
"number": {
|
|
"color": "#D33682"
|
|
},
|
|
"string": {
|
|
"color": "#859900"
|
|
},
|
|
"string.escape": {
|
|
"color": "#2AA198"
|
|
},
|
|
"string.regex": {
|
|
"color": "#D33682"
|
|
},
|
|
"string.special": {
|
|
"color": "#B58900"
|
|
},
|
|
"string.special.symbol": {
|
|
"color": "#B58900"
|
|
},
|
|
"tag": {
|
|
"color": "#268BD2"
|
|
},
|
|
"text.literal": {
|
|
"color": "#586E75"
|
|
},
|
|
"title": {
|
|
"color": "#073642",
|
|
"font_weight": 600
|
|
},
|
|
"type": {
|
|
"color": "#2AA198"
|
|
},
|
|
"property": {
|
|
"color": "#586E75"
|
|
},
|
|
"variable.special": {
|
|
"color": "#DC322F"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Solarized Dark",
|
|
"author": "Ethan Schoonover",
|
|
"url": "https://ethanschoonover.com/solarized",
|
|
"mode": "dark",
|
|
"colors": {
|
|
"accent.background": "#073945",
|
|
"accent.foreground": "#fdf6e3",
|
|
"background": "#002B36",
|
|
"border": "#103a44",
|
|
"foreground": "#fdf6e3",
|
|
"input.border": "#083e4c",
|
|
"list.active.background": "#0d667d25",
|
|
"list.active.border": "#0d667d",
|
|
"list.even.background": "#15333A99",
|
|
"muted.background": "#073642",
|
|
"muted.foreground": "#839496",
|
|
"panel.background": "#002b36",
|
|
"popover.background": "#002b36",
|
|
"popover.foreground": "#fdf6e3",
|
|
"primary.background": "#0d667d",
|
|
"primary.foreground": "#fdf6e3",
|
|
"scrollbar.background": "#002b3600",
|
|
"scrollbar.thumb.background": "#586e75",
|
|
"secondary.background": "#073642",
|
|
"secondary.active.background": "#083e4b",
|
|
"secondary.foreground": "#fdf6e3",
|
|
"secondary.hover.background": "#073945",
|
|
"tab.active.background": "#002b36",
|
|
"tab.active.foreground": "#fdf6e3",
|
|
"tab.foreground": "#93a1a1",
|
|
"tab_bar.background": "#07364266",
|
|
"title_bar.background": "#09323d",
|
|
"title_bar.border": "#16404b",
|
|
"base.red": "#7d2f0d",
|
|
"base.green": "#0d7d3f",
|
|
"base.yellow": "#7d650d",
|
|
"base.blue": "#0d507d",
|
|
"base.magenta": "#7d0d43",
|
|
"base.cyan": "#0d7d70"
|
|
},
|
|
"highlight": {
|
|
"editor.foreground": "#DDDDDD",
|
|
"editor.background": "#002B36",
|
|
"editor.active_line.background": "#073642",
|
|
"editor.line_number": "#8F8F8F",
|
|
"editor.active_line_number": "#DDDDDD",
|
|
"editor.invisible": "#93A1A166",
|
|
"conflict": "#D2602D",
|
|
"created": "#3f72e2",
|
|
"created.background": "#0C4619",
|
|
"deleted.background": "#46190C",
|
|
"error.background": "#46190C",
|
|
"error.border": "#802207",
|
|
"hidden": "#9E9E9E",
|
|
"hint": "#b283f8",
|
|
"hint.background": "#250c4b",
|
|
"hint.border": "#3f0891",
|
|
"info.background": "#0C194D",
|
|
"info.border": "#082190",
|
|
"modified": "#B0A878",
|
|
"modified.background": "#3A310E",
|
|
"predictive": "#5D5945",
|
|
"success.background": "#0C4619",
|
|
"warning.background": "#3A310E",
|
|
"warning.border": "#7B6508",
|
|
"syntax": {
|
|
"attribute": {
|
|
"color": "#be9a52"
|
|
},
|
|
"boolean": {
|
|
"color": "#E1D797"
|
|
},
|
|
"comment": {
|
|
"color": "#9E9E9E"
|
|
},
|
|
"comment.doc": {
|
|
"color": "#9E9E9E"
|
|
},
|
|
"constant": {
|
|
"color": "#E1D797"
|
|
},
|
|
"constructor": {
|
|
"color": "#b5af9a"
|
|
},
|
|
"embedded": {
|
|
"color": "#CACCCA"
|
|
},
|
|
"function": {
|
|
"color": "#E1D797"
|
|
},
|
|
"keyword": {
|
|
"color": "#E19773"
|
|
},
|
|
"link_text": {
|
|
"color": "#A86D3B",
|
|
"font_style": "normal"
|
|
},
|
|
"link_uri": {
|
|
"color": "#6F6D66",
|
|
"font_style": "italic"
|
|
},
|
|
"number": {
|
|
"color": "#E19773"
|
|
},
|
|
"string": {
|
|
"color": "#76BA53"
|
|
},
|
|
"string.escape": {
|
|
"color": "#76BA53"
|
|
},
|
|
"string.regex": {
|
|
"color": "#76BA53"
|
|
},
|
|
"string.special": {
|
|
"color": "#E1D797"
|
|
},
|
|
"string.special.symbol": {
|
|
"color": "#E1D797"
|
|
},
|
|
"tag": {
|
|
"color": "#b5af9a"
|
|
},
|
|
"text.literal": {
|
|
"color": "#E1D797"
|
|
},
|
|
"title": {
|
|
"color": "#A76D3B",
|
|
"font_weight": 600
|
|
},
|
|
"type": {
|
|
"color": "#A86D3B"
|
|
},
|
|
"property": {
|
|
"color": "#CACCCA"
|
|
},
|
|
"variable.special": {
|
|
"color": "#E19773"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|