summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-26 15:03:30 -0500
committeradamdottv <[email protected]>2025-06-26 15:03:30 -0500
commit8e680b3957e2de251f4a4bc6d5e9aacf022de244 (patch)
treec910ab404a800e31084db40c4169927584af4fc8
parent1b8cd796d661ecb748910c3d960ecaedd7c202a3 (diff)
downloadopencode-8e680b3957e2de251f4a4bc6d5e9aacf022de244.tar.gz
opencode-8e680b3957e2de251f4a4bc6d5e9aacf022de244.zip
feat(tui): more themes
-rw-r--r--packages/tui/internal/theme/themes/cobalt2.json228
-rw-r--r--packages/tui/internal/theme/themes/palenight.json222
-rw-r--r--packages/tui/internal/theme/themes/rosepine.json234
-rw-r--r--packages/tui/internal/theme/themes/synthwave84.json226
-rw-r--r--packages/tui/internal/theme/themes/zenburn.json223
5 files changed, 1133 insertions, 0 deletions
diff --git a/packages/tui/internal/theme/themes/cobalt2.json b/packages/tui/internal/theme/themes/cobalt2.json
new file mode 100644
index 000000000..5b9740e34
--- /dev/null
+++ b/packages/tui/internal/theme/themes/cobalt2.json
@@ -0,0 +1,228 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "background": "#193549",
+ "backgroundAlt": "#122738",
+ "backgroundPanel": "#1f4662",
+ "foreground": "#ffffff",
+ "foregroundMuted": "#adb7c9",
+ "yellow": "#ffc600",
+ "yellowBright": "#ffe14c",
+ "orange": "#ff9d00",
+ "orangeBright": "#ffb454",
+ "mint": "#2affdf",
+ "mintBright": "#7efff5",
+ "blue": "#0088ff",
+ "blueBright": "#5cb7ff",
+ "pink": "#ff628c",
+ "pinkBright": "#ff86a5",
+ "green": "#9eff80",
+ "greenBright": "#b9ff9f",
+ "purple": "#9a5feb",
+ "purpleBright": "#b88cfd",
+ "red": "#ff0088",
+ "redBright": "#ff5fb3"
+ },
+ "theme": {
+ "primary": {
+ "dark": "blue",
+ "light": "#0066cc"
+ },
+ "secondary": {
+ "dark": "purple",
+ "light": "#7c4dff"
+ },
+ "accent": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "error": {
+ "dark": "red",
+ "light": "#e91e63"
+ },
+ "warning": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "success": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "info": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "text": {
+ "dark": "foreground",
+ "light": "#193549"
+ },
+ "textMuted": {
+ "dark": "foregroundMuted",
+ "light": "#5c6b7d"
+ },
+ "background": {
+ "dark": "#193549",
+ "light": "#ffffff"
+ },
+ "backgroundPanel": {
+ "dark": "#122738",
+ "light": "#f5f7fa"
+ },
+ "backgroundElement": {
+ "dark": "#1f4662",
+ "light": "#e8ecf1"
+ },
+ "border": {
+ "dark": "#1f4662",
+ "light": "#d3dae3"
+ },
+ "borderActive": {
+ "dark": "blue",
+ "light": "#0066cc"
+ },
+ "borderSubtle": {
+ "dark": "#0e1e2e",
+ "light": "#e8ecf1"
+ },
+ "diffAdded": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "diffRemoved": {
+ "dark": "red",
+ "light": "#e91e63"
+ },
+ "diffContext": {
+ "dark": "foregroundMuted",
+ "light": "#5c6b7d"
+ },
+ "diffHunkHeader": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "diffHighlightAdded": {
+ "dark": "greenBright",
+ "light": "#4caf50"
+ },
+ "diffHighlightRemoved": {
+ "dark": "redBright",
+ "light": "#e91e63"
+ },
+ "diffAddedBg": {
+ "dark": "#1a3a2a",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedBg": {
+ "dark": "#3a1a2a",
+ "light": "#ffebee"
+ },
+ "diffContextBg": {
+ "dark": "#122738",
+ "light": "#f5f7fa"
+ },
+ "diffLineNumber": {
+ "dark": "#2d5a7b",
+ "light": "#b0bec5"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#1a3a2a",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#3a1a2a",
+ "light": "#ffebee"
+ },
+ "markdownText": {
+ "dark": "foreground",
+ "light": "#193549"
+ },
+ "markdownHeading": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "markdownLink": {
+ "dark": "blue",
+ "light": "#0066cc"
+ },
+ "markdownLinkText": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "markdownCode": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "markdownBlockQuote": {
+ "dark": "foregroundMuted",
+ "light": "#5c6b7d"
+ },
+ "markdownEmph": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "markdownStrong": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "markdownHorizontalRule": {
+ "dark": "#2d5a7b",
+ "light": "#d3dae3"
+ },
+ "markdownListItem": {
+ "dark": "blue",
+ "light": "#0066cc"
+ },
+ "markdownListEnumeration": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "markdownImage": {
+ "dark": "blue",
+ "light": "#0066cc"
+ },
+ "markdownImageText": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "markdownCodeBlock": {
+ "dark": "foreground",
+ "light": "#193549"
+ },
+ "syntaxComment": {
+ "dark": "#0088ff",
+ "light": "#5c6b7d"
+ },
+ "syntaxKeyword": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "syntaxFunction": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "syntaxVariable": {
+ "dark": "foreground",
+ "light": "#193549"
+ },
+ "syntaxString": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "syntaxNumber": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "syntaxType": {
+ "dark": "mint",
+ "light": "#00acc1"
+ },
+ "syntaxOperator": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "syntaxPunctuation": {
+ "dark": "foreground",
+ "light": "#193549"
+ }
+ }
+} \ No newline at end of file
diff --git a/packages/tui/internal/theme/themes/palenight.json b/packages/tui/internal/theme/themes/palenight.json
new file mode 100644
index 000000000..c786b4c6e
--- /dev/null
+++ b/packages/tui/internal/theme/themes/palenight.json
@@ -0,0 +1,222 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "background": "#292d3e",
+ "backgroundAlt": "#1e2132",
+ "backgroundPanel": "#32364a",
+ "foreground": "#a6accd",
+ "foregroundBright": "#bfc7d5",
+ "comment": "#676e95",
+ "red": "#f07178",
+ "orange": "#f78c6c",
+ "yellow": "#ffcb6b",
+ "green": "#c3e88d",
+ "cyan": "#89ddff",
+ "blue": "#82aaff",
+ "purple": "#c792ea",
+ "magenta": "#ff5370",
+ "pink": "#f07178"
+ },
+ "theme": {
+ "primary": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "secondary": {
+ "dark": "purple",
+ "light": "#a854f2"
+ },
+ "accent": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "error": {
+ "dark": "red",
+ "light": "#e53935"
+ },
+ "warning": {
+ "dark": "yellow",
+ "light": "#ffb300"
+ },
+ "success": {
+ "dark": "green",
+ "light": "#91b859"
+ },
+ "info": {
+ "dark": "orange",
+ "light": "#f4511e"
+ },
+ "text": {
+ "dark": "foreground",
+ "light": "#292d3e"
+ },
+ "textMuted": {
+ "dark": "comment",
+ "light": "#8796b0"
+ },
+ "background": {
+ "dark": "#292d3e",
+ "light": "#fafafa"
+ },
+ "backgroundPanel": {
+ "dark": "#1e2132",
+ "light": "#f5f5f5"
+ },
+ "backgroundElement": {
+ "dark": "#32364a",
+ "light": "#e7e7e8"
+ },
+ "border": {
+ "dark": "#32364a",
+ "light": "#e0e0e0"
+ },
+ "borderActive": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "borderSubtle": {
+ "dark": "#1e2132",
+ "light": "#eeeeee"
+ },
+ "diffAdded": {
+ "dark": "green",
+ "light": "#91b859"
+ },
+ "diffRemoved": {
+ "dark": "red",
+ "light": "#e53935"
+ },
+ "diffContext": {
+ "dark": "comment",
+ "light": "#8796b0"
+ },
+ "diffHunkHeader": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "diffHighlightAdded": {
+ "dark": "green",
+ "light": "#91b859"
+ },
+ "diffHighlightRemoved": {
+ "dark": "red",
+ "light": "#e53935"
+ },
+ "diffAddedBg": {
+ "dark": "#2e3c2b",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedBg": {
+ "dark": "#3c2b2b",
+ "light": "#ffebee"
+ },
+ "diffContextBg": {
+ "dark": "#1e2132",
+ "light": "#f5f5f5"
+ },
+ "diffLineNumber": {
+ "dark": "#444760",
+ "light": "#cfd8dc"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#2e3c2b",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#3c2b2b",
+ "light": "#ffebee"
+ },
+ "markdownText": {
+ "dark": "foreground",
+ "light": "#292d3e"
+ },
+ "markdownHeading": {
+ "dark": "purple",
+ "light": "#a854f2"
+ },
+ "markdownLink": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "markdownLinkText": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "markdownCode": {
+ "dark": "green",
+ "light": "#91b859"
+ },
+ "markdownBlockQuote": {
+ "dark": "comment",
+ "light": "#8796b0"
+ },
+ "markdownEmph": {
+ "dark": "yellow",
+ "light": "#ffb300"
+ },
+ "markdownStrong": {
+ "dark": "orange",
+ "light": "#f4511e"
+ },
+ "markdownHorizontalRule": {
+ "dark": "comment",
+ "light": "#8796b0"
+ },
+ "markdownListItem": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "markdownListEnumeration": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "markdownImage": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "markdownImageText": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "markdownCodeBlock": {
+ "dark": "foreground",
+ "light": "#292d3e"
+ },
+ "syntaxComment": {
+ "dark": "comment",
+ "light": "#8796b0"
+ },
+ "syntaxKeyword": {
+ "dark": "purple",
+ "light": "#a854f2"
+ },
+ "syntaxFunction": {
+ "dark": "blue",
+ "light": "#4976eb"
+ },
+ "syntaxVariable": {
+ "dark": "foreground",
+ "light": "#292d3e"
+ },
+ "syntaxString": {
+ "dark": "green",
+ "light": "#91b859"
+ },
+ "syntaxNumber": {
+ "dark": "orange",
+ "light": "#f4511e"
+ },
+ "syntaxType": {
+ "dark": "yellow",
+ "light": "#ffb300"
+ },
+ "syntaxOperator": {
+ "dark": "cyan",
+ "light": "#00acc1"
+ },
+ "syntaxPunctuation": {
+ "dark": "foreground",
+ "light": "#292d3e"
+ }
+ }
+} \ No newline at end of file
diff --git a/packages/tui/internal/theme/themes/rosepine.json b/packages/tui/internal/theme/themes/rosepine.json
new file mode 100644
index 000000000..612951d00
--- /dev/null
+++ b/packages/tui/internal/theme/themes/rosepine.json
@@ -0,0 +1,234 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "base": "#191724",
+ "surface": "#1f1d2e",
+ "overlay": "#26233a",
+ "muted": "#6e6a86",
+ "subtle": "#908caa",
+ "text": "#e0def4",
+ "love": "#eb6f92",
+ "gold": "#f6c177",
+ "rose": "#ebbcba",
+ "pine": "#31748f",
+ "foam": "#9ccfd8",
+ "iris": "#c4a7e7",
+ "highlightLow": "#21202e",
+ "highlightMed": "#403d52",
+ "highlightHigh": "#524f67",
+ "moonBase": "#232136",
+ "moonSurface": "#2a273f",
+ "moonOverlay": "#393552",
+ "moonMuted": "#6e6a86",
+ "moonSubtle": "#908caa",
+ "moonText": "#e0def4",
+ "dawnBase": "#faf4ed",
+ "dawnSurface": "#fffaf3",
+ "dawnOverlay": "#f2e9e1",
+ "dawnMuted": "#9893a5",
+ "dawnSubtle": "#797593",
+ "dawnText": "#575279"
+ },
+ "theme": {
+ "primary": {
+ "dark": "foam",
+ "light": "pine"
+ },
+ "secondary": {
+ "dark": "iris",
+ "light": "#907aa9"
+ },
+ "accent": {
+ "dark": "rose",
+ "light": "#d7827e"
+ },
+ "error": {
+ "dark": "love",
+ "light": "#b4637a"
+ },
+ "warning": {
+ "dark": "gold",
+ "light": "#ea9d34"
+ },
+ "success": {
+ "dark": "pine",
+ "light": "#286983"
+ },
+ "info": {
+ "dark": "foam",
+ "light": "#56949f"
+ },
+ "text": {
+ "dark": "#e0def4",
+ "light": "#575279"
+ },
+ "textMuted": {
+ "dark": "muted",
+ "light": "dawnMuted"
+ },
+ "background": {
+ "dark": "base",
+ "light": "dawnBase"
+ },
+ "backgroundPanel": {
+ "dark": "surface",
+ "light": "dawnSurface"
+ },
+ "backgroundElement": {
+ "dark": "overlay",
+ "light": "dawnOverlay"
+ },
+ "border": {
+ "dark": "highlightMed",
+ "light": "#dfdad9"
+ },
+ "borderActive": {
+ "dark": "foam",
+ "light": "pine"
+ },
+ "borderSubtle": {
+ "dark": "highlightLow",
+ "light": "#f4ede8"
+ },
+ "diffAdded": {
+ "dark": "pine",
+ "light": "#286983"
+ },
+ "diffRemoved": {
+ "dark": "love",
+ "light": "#b4637a"
+ },
+ "diffContext": {
+ "dark": "muted",
+ "light": "dawnMuted"
+ },
+ "diffHunkHeader": {
+ "dark": "iris",
+ "light": "#907aa9"
+ },
+ "diffHighlightAdded": {
+ "dark": "pine",
+ "light": "#286983"
+ },
+ "diffHighlightRemoved": {
+ "dark": "love",
+ "light": "#b4637a"
+ },
+ "diffAddedBg": {
+ "dark": "#1f2d3a",
+ "light": "#e5f2f3"
+ },
+ "diffRemovedBg": {
+ "dark": "#3a1f2d",
+ "light": "#fce5e8"
+ },
+ "diffContextBg": {
+ "dark": "surface",
+ "light": "dawnSurface"
+ },
+ "diffLineNumber": {
+ "dark": "muted",
+ "light": "dawnMuted"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#1f2d3a",
+ "light": "#e5f2f3"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#3a1f2d",
+ "light": "#fce5e8"
+ },
+ "markdownText": {
+ "dark": "#e0def4",
+ "light": "#575279"
+ },
+ "markdownHeading": {
+ "dark": "iris",
+ "light": "#907aa9"
+ },
+ "markdownLink": {
+ "dark": "foam",
+ "light": "pine"
+ },
+ "markdownLinkText": {
+ "dark": "rose",
+ "light": "#d7827e"
+ },
+ "markdownCode": {
+ "dark": "pine",
+ "light": "#286983"
+ },
+ "markdownBlockQuote": {
+ "dark": "muted",
+ "light": "dawnMuted"
+ },
+ "markdownEmph": {
+ "dark": "gold",
+ "light": "#ea9d34"
+ },
+ "markdownStrong": {
+ "dark": "love",
+ "light": "#b4637a"
+ },
+ "markdownHorizontalRule": {
+ "dark": "highlightMed",
+ "light": "#dfdad9"
+ },
+ "markdownListItem": {
+ "dark": "foam",
+ "light": "pine"
+ },
+ "markdownListEnumeration": {
+ "dark": "rose",
+ "light": "#d7827e"
+ },
+ "markdownImage": {
+ "dark": "foam",
+ "light": "pine"
+ },
+ "markdownImageText": {
+ "dark": "rose",
+ "light": "#d7827e"
+ },
+ "markdownCodeBlock": {
+ "dark": "#e0def4",
+ "light": "#575279"
+ },
+ "syntaxComment": {
+ "dark": "muted",
+ "light": "dawnMuted"
+ },
+ "syntaxKeyword": {
+ "dark": "pine",
+ "light": "#286983"
+ },
+ "syntaxFunction": {
+ "dark": "rose",
+ "light": "#d7827e"
+ },
+ "syntaxVariable": {
+ "dark": "#e0def4",
+ "light": "#575279"
+ },
+ "syntaxString": {
+ "dark": "gold",
+ "light": "#ea9d34"
+ },
+ "syntaxNumber": {
+ "dark": "iris",
+ "light": "#907aa9"
+ },
+ "syntaxType": {
+ "dark": "foam",
+ "light": "#56949f"
+ },
+ "syntaxOperator": {
+ "dark": "subtle",
+ "light": "dawnSubtle"
+ },
+ "syntaxPunctuation": {
+ "dark": "subtle",
+ "light": "dawnSubtle"
+ }
+ }
+} \ No newline at end of file
diff --git a/packages/tui/internal/theme/themes/synthwave84.json b/packages/tui/internal/theme/themes/synthwave84.json
new file mode 100644
index 000000000..a886eb942
--- /dev/null
+++ b/packages/tui/internal/theme/themes/synthwave84.json
@@ -0,0 +1,226 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "background": "#262335",
+ "backgroundAlt": "#1e1a29",
+ "backgroundPanel": "#2a2139",
+ "foreground": "#ffffff",
+ "foregroundMuted": "#848bbd",
+ "pink": "#ff7edb",
+ "pinkBright": "#ff92df",
+ "cyan": "#36f9f6",
+ "cyanBright": "#72f1f8",
+ "yellow": "#fede5d",
+ "yellowBright": "#fff95d",
+ "orange": "#ff8b39",
+ "orangeBright": "#ff9f43",
+ "purple": "#b084eb",
+ "purpleBright": "#c792ea",
+ "red": "#fe4450",
+ "redBright": "#ff5e5b",
+ "green": "#72f1b8",
+ "greenBright": "#97f1d8"
+ },
+ "theme": {
+ "primary": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "secondary": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "accent": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "error": {
+ "dark": "red",
+ "light": "#f44336"
+ },
+ "warning": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "success": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "info": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "text": {
+ "dark": "foreground",
+ "light": "#262335"
+ },
+ "textMuted": {
+ "dark": "foregroundMuted",
+ "light": "#5c5c8a"
+ },
+ "background": {
+ "dark": "#262335",
+ "light": "#fafafa"
+ },
+ "backgroundPanel": {
+ "dark": "#1e1a29",
+ "light": "#f5f5f5"
+ },
+ "backgroundElement": {
+ "dark": "#2a2139",
+ "light": "#eeeeee"
+ },
+ "border": {
+ "dark": "#495495",
+ "light": "#e0e0e0"
+ },
+ "borderActive": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "borderSubtle": {
+ "dark": "#241b2f",
+ "light": "#f0f0f0"
+ },
+ "diffAdded": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "diffRemoved": {
+ "dark": "red",
+ "light": "#f44336"
+ },
+ "diffContext": {
+ "dark": "foregroundMuted",
+ "light": "#5c5c8a"
+ },
+ "diffHunkHeader": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "diffHighlightAdded": {
+ "dark": "greenBright",
+ "light": "#4caf50"
+ },
+ "diffHighlightRemoved": {
+ "dark": "redBright",
+ "light": "#f44336"
+ },
+ "diffAddedBg": {
+ "dark": "#1a3a2a",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedBg": {
+ "dark": "#3a1a2a",
+ "light": "#ffebee"
+ },
+ "diffContextBg": {
+ "dark": "#1e1a29",
+ "light": "#f5f5f5"
+ },
+ "diffLineNumber": {
+ "dark": "#495495",
+ "light": "#b0b0b0"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#1a3a2a",
+ "light": "#e8f5e9"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#3a1a2a",
+ "light": "#ffebee"
+ },
+ "markdownText": {
+ "dark": "foreground",
+ "light": "#262335"
+ },
+ "markdownHeading": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "markdownLink": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "markdownLinkText": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "markdownCode": {
+ "dark": "green",
+ "light": "#4caf50"
+ },
+ "markdownBlockQuote": {
+ "dark": "foregroundMuted",
+ "light": "#5c5c8a"
+ },
+ "markdownEmph": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "markdownStrong": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "markdownHorizontalRule": {
+ "dark": "#495495",
+ "light": "#e0e0e0"
+ },
+ "markdownListItem": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "markdownListEnumeration": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "markdownImage": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "markdownImageText": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "markdownCodeBlock": {
+ "dark": "foreground",
+ "light": "#262335"
+ },
+ "syntaxComment": {
+ "dark": "foregroundMuted",
+ "light": "#5c5c8a"
+ },
+ "syntaxKeyword": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "syntaxFunction": {
+ "dark": "orange",
+ "light": "#ff5722"
+ },
+ "syntaxVariable": {
+ "dark": "foreground",
+ "light": "#262335"
+ },
+ "syntaxString": {
+ "dark": "yellow",
+ "light": "#ff9800"
+ },
+ "syntaxNumber": {
+ "dark": "purple",
+ "light": "#9c27b0"
+ },
+ "syntaxType": {
+ "dark": "cyan",
+ "light": "#00bcd4"
+ },
+ "syntaxOperator": {
+ "dark": "pink",
+ "light": "#e91e63"
+ },
+ "syntaxPunctuation": {
+ "dark": "foreground",
+ "light": "#262335"
+ }
+ }
+} \ No newline at end of file
diff --git a/packages/tui/internal/theme/themes/zenburn.json b/packages/tui/internal/theme/themes/zenburn.json
new file mode 100644
index 000000000..04b338eb5
--- /dev/null
+++ b/packages/tui/internal/theme/themes/zenburn.json
@@ -0,0 +1,223 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "bg": "#3f3f3f",
+ "bgAlt": "#4f4f4f",
+ "bgPanel": "#5f5f5f",
+ "fg": "#dcdccc",
+ "fgMuted": "#9f9f9f",
+ "red": "#cc9393",
+ "redBright": "#dca3a3",
+ "green": "#7f9f7f",
+ "greenBright": "#8fb28f",
+ "yellow": "#f0dfaf",
+ "yellowDim": "#e0cf9f",
+ "blue": "#8cd0d3",
+ "blueDim": "#7cb8bb",
+ "magenta": "#dc8cc3",
+ "cyan": "#93e0e3",
+ "orange": "#dfaf8f"
+ },
+ "theme": {
+ "primary": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "secondary": {
+ "dark": "magenta",
+ "light": "#8f5f8f"
+ },
+ "accent": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "error": {
+ "dark": "red",
+ "light": "#8f5f5f"
+ },
+ "warning": {
+ "dark": "yellow",
+ "light": "#8f8f5f"
+ },
+ "success": {
+ "dark": "green",
+ "light": "#5f8f5f"
+ },
+ "info": {
+ "dark": "orange",
+ "light": "#8f7f5f"
+ },
+ "text": {
+ "dark": "fg",
+ "light": "#3f3f3f"
+ },
+ "textMuted": {
+ "dark": "fgMuted",
+ "light": "#6f6f6f"
+ },
+ "background": {
+ "dark": "bg",
+ "light": "#ffffef"
+ },
+ "backgroundPanel": {
+ "dark": "bgAlt",
+ "light": "#f5f5e5"
+ },
+ "backgroundElement": {
+ "dark": "bgPanel",
+ "light": "#ebebdb"
+ },
+ "border": {
+ "dark": "#5f5f5f",
+ "light": "#d0d0c0"
+ },
+ "borderActive": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "borderSubtle": {
+ "dark": "#4f4f4f",
+ "light": "#e0e0d0"
+ },
+ "diffAdded": {
+ "dark": "green",
+ "light": "#5f8f5f"
+ },
+ "diffRemoved": {
+ "dark": "red",
+ "light": "#8f5f5f"
+ },
+ "diffContext": {
+ "dark": "fgMuted",
+ "light": "#6f6f6f"
+ },
+ "diffHunkHeader": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "diffHighlightAdded": {
+ "dark": "greenBright",
+ "light": "#5f8f5f"
+ },
+ "diffHighlightRemoved": {
+ "dark": "redBright",
+ "light": "#8f5f5f"
+ },
+ "diffAddedBg": {
+ "dark": "#4f5f4f",
+ "light": "#efffef"
+ },
+ "diffRemovedBg": {
+ "dark": "#5f4f4f",
+ "light": "#ffefef"
+ },
+ "diffContextBg": {
+ "dark": "bgAlt",
+ "light": "#f5f5e5"
+ },
+ "diffLineNumber": {
+ "dark": "#6f6f6f",
+ "light": "#b0b0a0"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#4f5f4f",
+ "light": "#efffef"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#5f4f4f",
+ "light": "#ffefef"
+ },
+ "markdownText": {
+ "dark": "fg",
+ "light": "#3f3f3f"
+ },
+ "markdownHeading": {
+ "dark": "yellow",
+ "light": "#8f8f5f"
+ },
+ "markdownLink": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "markdownLinkText": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "markdownCode": {
+ "dark": "green",
+ "light": "#5f8f5f"
+ },
+ "markdownBlockQuote": {
+ "dark": "fgMuted",
+ "light": "#6f6f6f"
+ },
+ "markdownEmph": {
+ "dark": "yellowDim",
+ "light": "#8f8f5f"
+ },
+ "markdownStrong": {
+ "dark": "orange",
+ "light": "#8f7f5f"
+ },
+ "markdownHorizontalRule": {
+ "dark": "fgMuted",
+ "light": "#6f6f6f"
+ },
+ "markdownListItem": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "markdownListEnumeration": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "markdownImage": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "markdownImageText": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "markdownCodeBlock": {
+ "dark": "fg",
+ "light": "#3f3f3f"
+ },
+ "syntaxComment": {
+ "dark": "#7f9f7f",
+ "light": "#5f7f5f"
+ },
+ "syntaxKeyword": {
+ "dark": "yellow",
+ "light": "#8f8f5f"
+ },
+ "syntaxFunction": {
+ "dark": "blue",
+ "light": "#5f7f8f"
+ },
+ "syntaxVariable": {
+ "dark": "fg",
+ "light": "#3f3f3f"
+ },
+ "syntaxString": {
+ "dark": "red",
+ "light": "#8f5f5f"
+ },
+ "syntaxNumber": {
+ "dark": "greenBright",
+ "light": "#5f8f5f"
+ },
+ "syntaxType": {
+ "dark": "cyan",
+ "light": "#5f8f8f"
+ },
+ "syntaxOperator": {
+ "dark": "yellow",
+ "light": "#8f8f5f"
+ },
+ "syntaxPunctuation": {
+ "dark": "fg",
+ "light": "#3f3f3f"
+ }
+ }
+} \ No newline at end of file