Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ ts-dist
/result
refs
Session.vim
opencode.json
/opencode.json
a.out
target
.scripts
Expand Down
99 changes: 81 additions & 18 deletions packages/ui/src/theme/default-themes.ts
Original file line number Diff line number Diff line change
@@ -1,37 +1,79 @@
import type { DesktopTheme } from "./types"
import oc2ThemeJson from "./themes/oc-2.json"
import tokyoThemeJson from "./themes/tokyonight.json"
import amoledThemeJson from "./themes/amoled.json"
import auraThemeJson from "./themes/aura.json"
import ayuThemeJson from "./themes/ayu.json"
import carbonfoxThemeJson from "./themes/carbonfox.json"
import catppuccinThemeJson from "./themes/catppuccin.json"
import catppuccinFrappeThemeJson from "./themes/catppuccin-frappe.json"
import catppuccinMacchiatoThemeJson from "./themes/catppuccin-macchiato.json"
import cobalt2ThemeJson from "./themes/cobalt2.json"
import cursorThemeJson from "./themes/cursor.json"
import draculaThemeJson from "./themes/dracula.json"
import everforestThemeJson from "./themes/everforest.json"
import flexokiThemeJson from "./themes/flexoki.json"
import githubThemeJson from "./themes/github.json"
import gruvboxThemeJson from "./themes/gruvbox.json"
import kanagawaThemeJson from "./themes/kanagawa.json"
import lucentOrngThemeJson from "./themes/lucent-orng.json"
import materialThemeJson from "./themes/material.json"
import matrixThemeJson from "./themes/matrix.json"
import mercuryThemeJson from "./themes/mercury.json"
import monokaiThemeJson from "./themes/monokai.json"
import solarizedThemeJson from "./themes/solarized.json"
import nightowlThemeJson from "./themes/nightowl.json"
import nordThemeJson from "./themes/nord.json"
import catppuccinThemeJson from "./themes/catppuccin.json"
import ayuThemeJson from "./themes/ayu.json"
import oneDarkThemeJson from "./themes/one-dark.json"
import oneDarkProThemeJson from "./themes/onedarkpro.json"
import opencodeThemeJson from "./themes/opencode.json"
import orngThemeJson from "./themes/orng.json"
import osakaJadeThemeJson from "./themes/osaka-jade.json"
import palenightThemeJson from "./themes/palenight.json"
import rosepineThemeJson from "./themes/rosepine.json"
import shadesOfPurpleThemeJson from "./themes/shadesofpurple.json"
import nightowlThemeJson from "./themes/nightowl.json"
import solarizedThemeJson from "./themes/solarized.json"
import synthwave84ThemeJson from "./themes/synthwave84.json"
import tokyonightThemeJson from "./themes/tokyonight.json"
import vercelThemeJson from "./themes/vercel.json"
import vesperThemeJson from "./themes/vesper.json"
import carbonfoxThemeJson from "./themes/carbonfox.json"
import gruvboxThemeJson from "./themes/gruvbox.json"
import auraThemeJson from "./themes/aura.json"
import amoledThemeJson from "./themes/amoled.json"
import zenburnThemeJson from "./themes/zenburn.json"

export const oc2Theme = oc2ThemeJson as DesktopTheme
export const tokyonightTheme = tokyoThemeJson as DesktopTheme
export const amoledTheme = amoledThemeJson as DesktopTheme
export const auraTheme = auraThemeJson as DesktopTheme
export const ayuTheme = ayuThemeJson as DesktopTheme
export const carbonfoxTheme = carbonfoxThemeJson as DesktopTheme
export const catppuccinTheme = catppuccinThemeJson as DesktopTheme
export const catppuccinFrappeTheme = catppuccinFrappeThemeJson as DesktopTheme
export const catppuccinMacchiatoTheme = catppuccinMacchiatoThemeJson as DesktopTheme
export const cobalt2Theme = cobalt2ThemeJson as DesktopTheme
export const cursorTheme = cursorThemeJson as DesktopTheme
export const draculaTheme = draculaThemeJson as DesktopTheme
export const everforestTheme = everforestThemeJson as DesktopTheme
export const flexokiTheme = flexokiThemeJson as DesktopTheme
export const githubTheme = githubThemeJson as DesktopTheme
export const gruvboxTheme = gruvboxThemeJson as DesktopTheme
export const kanagawaTheme = kanagawaThemeJson as DesktopTheme
export const lucentOrngTheme = lucentOrngThemeJson as DesktopTheme
export const materialTheme = materialThemeJson as DesktopTheme
export const matrixTheme = matrixThemeJson as DesktopTheme
export const mercuryTheme = mercuryThemeJson as DesktopTheme
export const monokaiTheme = monokaiThemeJson as DesktopTheme
export const solarizedTheme = solarizedThemeJson as DesktopTheme
export const nightowlTheme = nightowlThemeJson as DesktopTheme
export const nordTheme = nordThemeJson as DesktopTheme
export const catppuccinTheme = catppuccinThemeJson as DesktopTheme
export const ayuTheme = ayuThemeJson as DesktopTheme
export const oneDarkTheme = oneDarkThemeJson as DesktopTheme
export const oneDarkProTheme = oneDarkProThemeJson as DesktopTheme
export const opencodeTheme = opencodeThemeJson as DesktopTheme
export const orngTheme = orngThemeJson as DesktopTheme
export const osakaJadeTheme = osakaJadeThemeJson as DesktopTheme
export const palenightTheme = palenightThemeJson as DesktopTheme
export const rosepineTheme = rosepineThemeJson as DesktopTheme
export const shadesOfPurpleTheme = shadesOfPurpleThemeJson as DesktopTheme
export const nightowlTheme = nightowlThemeJson as DesktopTheme
export const solarizedTheme = solarizedThemeJson as DesktopTheme
export const synthwave84Theme = synthwave84ThemeJson as DesktopTheme
export const tokyonightTheme = tokyonightThemeJson as DesktopTheme
export const vercelTheme = vercelThemeJson as DesktopTheme
export const vesperTheme = vesperThemeJson as DesktopTheme
export const carbonfoxTheme = carbonfoxThemeJson as DesktopTheme
export const gruvboxTheme = gruvboxThemeJson as DesktopTheme
export const auraTheme = auraThemeJson as DesktopTheme
export const amoledTheme = amoledThemeJson as DesktopTheme
export const zenburnTheme = zenburnThemeJson as DesktopTheme

export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
"oc-2": oc2Theme,
Expand All @@ -40,14 +82,35 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
ayu: ayuTheme,
carbonfox: carbonfoxTheme,
catppuccin: catppuccinTheme,
"catppuccin-frappe": catppuccinFrappeTheme,
"catppuccin-macchiato": catppuccinMacchiatoTheme,
cobalt2: cobalt2Theme,
cursor: cursorTheme,
dracula: draculaTheme,
everforest: everforestTheme,
flexoki: flexokiTheme,
github: githubTheme,
gruvbox: gruvboxTheme,
kanagawa: kanagawaTheme,
"lucent-orng": lucentOrngTheme,
material: materialTheme,
matrix: matrixTheme,
mercury: mercuryTheme,
monokai: monokaiTheme,
nightowl: nightowlTheme,
nord: nordTheme,
"one-dark": oneDarkTheme,
onedarkpro: oneDarkProTheme,
opencode: opencodeTheme,
orng: orngTheme,
"osaka-jade": osakaJadeTheme,
palenight: palenightTheme,
rosepine: rosepineTheme,
shadesofpurple: shadesOfPurpleTheme,
solarized: solarizedTheme,
synthwave84: synthwave84Theme,
tokyonight: tokyonightTheme,
vercel: vercelTheme,
vesper: vesperTheme,
zenburn: zenburnTheme,
}
35 changes: 30 additions & 5 deletions packages/ui/src/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,40 @@ export { ThemeProvider, useTheme, type ColorScheme } from "./context"
export {
DEFAULT_THEMES,
oc2Theme,
tokyonightTheme,
amoledTheme,
auraTheme,
ayuTheme,
carbonfoxTheme,
catppuccinTheme,
catppuccinFrappeTheme,
catppuccinMacchiatoTheme,
cobalt2Theme,
cursorTheme,
draculaTheme,
everforestTheme,
flexokiTheme,
githubTheme,
gruvboxTheme,
kanagawaTheme,
lucentOrngTheme,
materialTheme,
matrixTheme,
mercuryTheme,
monokaiTheme,
solarizedTheme,
nightowlTheme,
nordTheme,
catppuccinTheme,
ayuTheme,
oneDarkTheme,
oneDarkProTheme,
opencodeTheme,
orngTheme,
osakaJadeTheme,
palenightTheme,
rosepineTheme,
shadesOfPurpleTheme,
nightowlTheme,
solarizedTheme,
synthwave84Theme,
tokyonightTheme,
vercelTheme,
vesperTheme,
zenburnTheme,
} from "./default-themes"
85 changes: 85 additions & 0 deletions packages/ui/src/theme/themes/catppuccin-frappe.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"$schema": "https://opencode.ai/desktop-theme.json",
"name": "Catppuccin Frappe",
"id": "catppuccin-frappe",
"light": {
"palette": {
"neutral": "#303446",
"ink": "#c6d0f5",
"primary": "#8da4e2",
"accent": "#f4b8e4",
"success": "#a6d189",
"warning": "#e5c890",
"error": "#e78284",
"info": "#81c8be"
},
"overrides": {
"text-weak": "#b5bfe2",
"syntax-comment": "#949cb8",
"syntax-keyword": "#ca9ee6",
"syntax-string": "#a6d189",
"syntax-primitive": "#8da4e2",
"syntax-variable": "#e78284",
"syntax-property": "#99d1db",
"syntax-type": "#e5c890",
"syntax-constant": "#ef9f76",
"syntax-operator": "#99d1db",
"syntax-punctuation": "#c6d0f5",
"syntax-object": "#e78284",
"markdown-heading": "#ca9ee6",
"markdown-text": "#c6d0f5",
"markdown-link": "#8da4e2",
"markdown-link-text": "#99d1db",
"markdown-code": "#a6d189",
"markdown-block-quote": "#e5c890",
"markdown-emph": "#e5c890",
"markdown-strong": "#ef9f76",
"markdown-horizontal-rule": "#a5adce",
"markdown-list-item": "#8da4e2",
"markdown-list-enumeration": "#99d1db",
"markdown-image": "#8da4e2",
"markdown-image-text": "#99d1db",
"markdown-code-block": "#c6d0f5"
}
},
"dark": {
"palette": {
"neutral": "#303446",
"ink": "#c6d0f5",
"primary": "#8da4e2",
"accent": "#f4b8e4",
"success": "#a6d189",
"warning": "#e5c890",
"error": "#e78284",
"info": "#81c8be"
},
"overrides": {
"text-weak": "#b5bfe2",
"syntax-comment": "#949cb8",
"syntax-keyword": "#ca9ee6",
"syntax-string": "#a6d189",
"syntax-primitive": "#8da4e2",
"syntax-variable": "#e78284",
"syntax-property": "#99d1db",
"syntax-type": "#e5c890",
"syntax-constant": "#ef9f76",
"syntax-operator": "#99d1db",
"syntax-punctuation": "#c6d0f5",
"syntax-object": "#e78284",
"markdown-heading": "#ca9ee6",
"markdown-text": "#c6d0f5",
"markdown-link": "#8da4e2",
"markdown-link-text": "#99d1db",
"markdown-code": "#a6d189",
"markdown-block-quote": "#e5c890",
"markdown-emph": "#e5c890",
"markdown-strong": "#ef9f76",
"markdown-horizontal-rule": "#a5adce",
"markdown-list-item": "#8da4e2",
"markdown-list-enumeration": "#99d1db",
"markdown-image": "#8da4e2",
"markdown-image-text": "#99d1db",
"markdown-code-block": "#c6d0f5"
}
}
}
85 changes: 85 additions & 0 deletions packages/ui/src/theme/themes/catppuccin-macchiato.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"$schema": "https://opencode.ai/desktop-theme.json",
"name": "Catppuccin Macchiato",
"id": "catppuccin-macchiato",
"light": {
"palette": {
"neutral": "#24273a",
"ink": "#cad3f5",
"primary": "#8aadf4",
"accent": "#f5bde6",
"success": "#a6da95",
"warning": "#eed49f",
"error": "#ed8796",
"info": "#8bd5ca"
},
"overrides": {
"text-weak": "#b8c0e0",
"syntax-comment": "#939ab7",
"syntax-keyword": "#c6a0f6",
"syntax-string": "#a6da95",
"syntax-primitive": "#8aadf4",
"syntax-variable": "#ed8796",
"syntax-property": "#91d7e3",
"syntax-type": "#eed49f",
"syntax-constant": "#f5a97f",
"syntax-operator": "#91d7e3",
"syntax-punctuation": "#cad3f5",
"syntax-object": "#ed8796",
"markdown-heading": "#c6a0f6",
"markdown-text": "#cad3f5",
"markdown-link": "#8aadf4",
"markdown-link-text": "#91d7e3",
"markdown-code": "#a6da95",
"markdown-block-quote": "#eed49f",
"markdown-emph": "#eed49f",
"markdown-strong": "#f5a97f",
"markdown-horizontal-rule": "#a5adcb",
"markdown-list-item": "#8aadf4",
"markdown-list-enumeration": "#91d7e3",
"markdown-image": "#8aadf4",
"markdown-image-text": "#91d7e3",
"markdown-code-block": "#cad3f5"
}
},
"dark": {
"palette": {
"neutral": "#24273a",
"ink": "#cad3f5",
"primary": "#8aadf4",
"accent": "#f5bde6",
"success": "#a6da95",
"warning": "#eed49f",
"error": "#ed8796",
"info": "#8bd5ca"
},
"overrides": {
"text-weak": "#b8c0e0",
"syntax-comment": "#939ab7",
"syntax-keyword": "#c6a0f6",
"syntax-string": "#a6da95",
"syntax-primitive": "#8aadf4",
"syntax-variable": "#ed8796",
"syntax-property": "#91d7e3",
"syntax-type": "#eed49f",
"syntax-constant": "#f5a97f",
"syntax-operator": "#91d7e3",
"syntax-punctuation": "#cad3f5",
"syntax-object": "#ed8796",
"markdown-heading": "#c6a0f6",
"markdown-text": "#cad3f5",
"markdown-link": "#8aadf4",
"markdown-link-text": "#91d7e3",
"markdown-code": "#a6da95",
"markdown-block-quote": "#eed49f",
"markdown-emph": "#eed49f",
"markdown-strong": "#f5a97f",
"markdown-horizontal-rule": "#a5adcb",
"markdown-list-item": "#8aadf4",
"markdown-list-enumeration": "#91d7e3",
"markdown-image": "#8aadf4",
"markdown-image-text": "#91d7e3",
"markdown-code-block": "#cad3f5"
}
}
}
Loading
Loading