From 461b94a59cf08008460a7997441cf103ba21501a Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Tue, 17 Feb 2026 19:32:26 +0000 Subject: [PATCH] Add complete palettes for all themes and new color schemes - Add full 16-color palettes for tango and ristretto (previously background-only) - Fix ristretto background from #2d2525 to #2c2525 per Monokai Pro Ristretto source - Rename monokai to monokai-pro to reflect it is the Monokai Pro variant - Add classic monokai theme (bg #272822) from Monokai Classic - Import three new themes: miasma, github (dark dimmed), gotham - All 16 themes now have complete entries in both ThemeBackgrounds and ThemePalettes - Update terminal.ts frontend theme map to match --- webterm/static/js/terminal.ts | 27 ++++++- webterm/themes.go | 128 +++++++++++++++++++++++++++++++++- 2 files changed, 152 insertions(+), 3 deletions(-) diff --git a/webterm/static/js/terminal.ts b/webterm/static/js/terminal.ts index 0523888..75102f1 100644 --- a/webterm/static/js/terminal.ts +++ b/webterm/static/js/terminal.ts @@ -66,8 +66,33 @@ const THEMES: Record = { brightCyan: "#00ffff", brightWhite: "#ffffff", }, - // Monokai Pro + // Monokai Classic monokai: { + background: "#272822", + foreground: "#fdfff1", + cursor: "#fdfff1", + cursorAccent: "#272822", + selectionBackground: "#fdfff1", + selectionForeground: "#272822", + black: "#272822", + red: "#f92672", + green: "#a6e22e", + yellow: "#e6db74", + blue: "#fd971f", + magenta: "#ae81ff", + cyan: "#66d9ef", + white: "#fdfff1", + brightBlack: "#6e7066", + brightRed: "#f92672", + brightGreen: "#a6e22e", + brightYellow: "#e6db74", + brightBlue: "#fd971f", + brightMagenta: "#ae81ff", + brightCyan: "#66d9ef", + brightWhite: "#fdfff1", + }, + // Monokai Pro + "monokai-pro": { background: "#2d2a2e", foreground: "#fcfcfa", cursor: "#fcfcfa", diff --git a/webterm/themes.go b/webterm/themes.go index d7e01cf..b73f8af 100644 --- a/webterm/themes.go +++ b/webterm/themes.go @@ -3,8 +3,9 @@ package webterm var ThemeBackgrounds = map[string]string{ "tango": "#000000", "xterm": "#000000", - "monokai": "#2d2a2e", - "ristretto": "#2d2525", + "monokai": "#272822", + "monokai-pro": "#2d2a2e", + "ristretto": "#2c2525", "dark": "#1e1e1e", "light": "#ffffff", "dracula": "#282a36", @@ -13,9 +14,32 @@ var ThemeBackgrounds = map[string]string{ "gruvbox": "#282828", "solarized": "#002b36", "tokyo": "#1a1b26", + "miasma": "#222222", + "github": "#1c2128", + "gotham": "#0c1014", } var ThemePalettes = map[string]map[string]string{ + "tango": { + "background": "#000000", + "foreground": "#ffffff", + "black": "#000000", + "red": "#cc0000", + "green": "#4e9a06", + "yellow": "#c4a000", + "blue": "#3465a4", + "magenta": "#75507b", + "cyan": "#06989a", + "white": "#d3d7cf", + "brightblack": "#555753", + "brightred": "#ef2929", + "brightgreen": "#8ae234", + "brightyellow": "#fce94f", + "brightblue": "#729fcf", + "brightmagenta": "#ad7fa8", + "brightcyan": "#34e2e2", + "brightwhite": "#eeeeec", + }, "xterm": { "background": "#000000", "foreground": "#e5e5e5", @@ -37,6 +61,26 @@ var ThemePalettes = map[string]map[string]string{ "brightwhite": "#ffffff", }, "monokai": { + "background": "#272822", + "foreground": "#fdfff1", + "black": "#272822", + "red": "#f92672", + "green": "#a6e22e", + "yellow": "#e6db74", + "blue": "#fd971f", + "magenta": "#ae81ff", + "cyan": "#66d9ef", + "white": "#fdfff1", + "brightblack": "#6e7066", + "brightred": "#f92672", + "brightgreen": "#a6e22e", + "brightyellow": "#e6db74", + "brightblue": "#fd971f", + "brightmagenta": "#ae81ff", + "brightcyan": "#66d9ef", + "brightwhite": "#fdfff1", + }, + "monokai-pro": { "background": "#2d2a2e", "foreground": "#fcfcfa", "black": "#403e41", @@ -56,6 +100,26 @@ var ThemePalettes = map[string]map[string]string{ "brightcyan": "#78dce8", "brightwhite": "#fcfcfa", }, + "ristretto": { + "background": "#2c2525", + "foreground": "#fff1f3", + "black": "#2c2525", + "red": "#fd6883", + "green": "#adda78", + "yellow": "#f9cc6c", + "blue": "#f38d70", + "magenta": "#a8a9eb", + "cyan": "#85dacc", + "white": "#fff1f3", + "brightblack": "#72696a", + "brightred": "#fd6883", + "brightgreen": "#adda78", + "brightyellow": "#f9cc6c", + "brightblue": "#f38d70", + "brightmagenta": "#a8a9eb", + "brightcyan": "#85dacc", + "brightwhite": "#fff1f3", + }, "dark": { "background": "#1e1e1e", "foreground": "#d4d4d4", @@ -196,6 +260,66 @@ var ThemePalettes = map[string]map[string]string{ "brightcyan": "#93a1a1", "brightwhite": "#fdf6e3", }, + "miasma": { + "background": "#222222", + "foreground": "#c2c2b0", + "black": "#000000", + "red": "#685742", + "green": "#5f875f", + "yellow": "#b36d43", + "blue": "#78824b", + "magenta": "#bb7744", + "cyan": "#c9a554", + "white": "#d7c483", + "brightblack": "#666666", + "brightred": "#685742", + "brightgreen": "#5f875f", + "brightyellow": "#b36d43", + "brightblue": "#78824b", + "brightmagenta": "#bb7744", + "brightcyan": "#c9a554", + "brightwhite": "#d7c483", + }, + "github": { + "background": "#1c2128", + "foreground": "#adbac7", + "black": "#545d68", + "red": "#f47067", + "green": "#57ab5a", + "yellow": "#c69026", + "blue": "#539bf5", + "magenta": "#b083f0", + "cyan": "#39c5cf", + "white": "#909dab", + "brightblack": "#636e7b", + "brightred": "#ff938a", + "brightgreen": "#6bc46d", + "brightyellow": "#daaa3f", + "brightblue": "#6cb6ff", + "brightmagenta": "#dcbdfb", + "brightcyan": "#56d4dd", + "brightwhite": "#cdd9e5", + }, + "gotham": { + "background": "#0c1014", + "foreground": "#99d1ce", + "black": "#0c1014", + "red": "#c23127", + "green": "#2aa889", + "yellow": "#edb443", + "blue": "#195466", + "magenta": "#4e5166", + "cyan": "#33859e", + "white": "#99d1ce", + "brightblack": "#0c1014", + "brightred": "#c23127", + "brightgreen": "#2aa889", + "brightyellow": "#edb443", + "brightblue": "#195466", + "brightmagenta": "#4e5166", + "brightcyan": "#33859e", + "brightwhite": "#99d1ce", + }, "tokyo": { "background": "#1a1b26", "foreground": "#a9b1d6",