summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorOpeOginni <[email protected]>2025-11-18 21:26:42 +0100
committerGitHub <[email protected]>2025-11-18 14:26:42 -0600
commit59f127a2501bfca32df0409107752603f870145f (patch)
tree4353b205c6e14b1ee12ca53a1fe11c084d0c54f2 /packages
parent3068e7dcf7d634824252480922b53e4e4a58ed92 (diff)
downloadopencode-59f127a2501bfca32df0409107752603f870145f.tar.gz
opencode-59f127a2501bfca32df0409107752603f870145f.zip
fix: allow for theme references (#4450)
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/tui/context/theme.tsx11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/context/theme.tsx b/packages/opencode/src/cli/cmd/tui/context/theme.tsx
index a4a4d876e..4b7c4de0a 100644
--- a/packages/opencode/src/cli/cmd/tui/context/theme.tsx
+++ b/packages/opencode/src/cli/cmd/tui/context/theme.tsx
@@ -132,7 +132,16 @@ function resolveTheme(theme: ThemeJson, mode: "dark" | "light") {
if (c instanceof RGBA) return c
if (typeof c === "string") {
if (c === "transparent" || c === "none") return RGBA.fromInts(0, 0, 0, 0)
- return c.startsWith("#") ? RGBA.fromHex(c) : resolveColor(defs[c])
+
+ if (c.startsWith("#")) return RGBA.fromHex(c)
+
+ if (defs[c]) {
+ return resolveColor(defs[c])
+ } else if (theme.theme[c as keyof Theme]) {
+ return resolveColor(theme.theme[c as keyof Theme])
+ } else {
+ throw new Error(`Color reference "${c}" not found in defs or theme`)
+ }
}
return resolveColor(c[mode])
}