summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorshamil2 <[email protected]>2025-12-20 19:04:35 +0100
committerGitHub <[email protected]>2025-12-20 12:04:35 -0600
commit7dd8ea58c22005d430d4ea7e18f3f693477adc5b (patch)
treeedb96b097f36483685dbe9f42c97d5503e3a07bf /packages
parent3b261e012547bbe33cfda83460e14ec83cf2f0d3 (diff)
downloadopencode-7dd8ea58c22005d430d4ea7e18f3f693477adc5b.tar.gz
opencode-7dd8ea58c22005d430d4ea7e18f3f693477adc5b.zip
feat: add Catppuccin Frappé theme (#5821)
Co-authored-by: shamil2 <[email protected]>
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/tui/context/theme.tsx2
-rw-r--r--packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json233
2 files changed, 235 insertions, 0 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/context/theme.tsx b/packages/opencode/src/cli/cmd/tui/context/theme.tsx
index cbe836b1c..a17b13533 100644
--- a/packages/opencode/src/cli/cmd/tui/context/theme.tsx
+++ b/packages/opencode/src/cli/cmd/tui/context/theme.tsx
@@ -6,6 +6,7 @@ import { createSimpleContext } from "./helper"
import aura from "./theme/aura.json" with { type: "json" }
import ayu from "./theme/ayu.json" with { type: "json" }
import catppuccin from "./theme/catppuccin.json" with { type: "json" }
+import catppuccinFrappe from "./theme/catppuccin-frappe.json" with { type: "json" }
import catppuccinMacchiato from "./theme/catppuccin-macchiato.json" with { type: "json" }
import cobalt2 from "./theme/cobalt2.json" with { type: "json" }
import cursor from "./theme/cursor.json" with { type: "json" }
@@ -137,6 +138,7 @@ export const DEFAULT_THEMES: Record<string, ThemeJson> = {
aura,
ayu,
catppuccin,
+ ["catppuccin-frappe"]: catppuccinFrappe,
["catppuccin-macchiato"]: catppuccinMacchiato,
cobalt2,
cursor,
diff --git a/packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json b/packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json
new file mode 100644
index 000000000..79e56ee9a
--- /dev/null
+++ b/packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json
@@ -0,0 +1,233 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "frappeRosewater": "#f2d5cf",
+ "frappeFlamingo": "#eebebe",
+ "frappePink": "#f4b8e4",
+ "frappeMauve": "#ca9ee6",
+ "frappeRed": "#e78284",
+ "frappeMaroon": "#ea999c",
+ "frappePeach": "#ef9f76",
+ "frappeYellow": "#e5c890",
+ "frappeGreen": "#a6d189",
+ "frappeTeal": "#81c8be",
+ "frappeSky": "#99d1db",
+ "frappeSapphire": "#85c1dc",
+ "frappeBlue": "#8da4e2",
+ "frappeLavender": "#babbf1",
+ "frappeText": "#c6d0f5",
+ "frappeSubtext1": "#b5bfe2",
+ "frappeSubtext0": "#a5adce",
+ "frappeOverlay2": "#949cb8",
+ "frappeOverlay1": "#838ba7",
+ "frappeOverlay0": "#737994",
+ "frappeSurface2": "#626880",
+ "frappeSurface1": "#51576d",
+ "frappeSurface0": "#414559",
+ "frappeBase": "#303446",
+ "frappeMantle": "#292c3c",
+ "frappeCrust": "#232634"
+ },
+ "theme": {
+ "primary": {
+ "dark": "frappeBlue",
+ "light": "frappeBlue"
+ },
+ "secondary": {
+ "dark": "frappeMauve",
+ "light": "frappeMauve"
+ },
+ "accent": {
+ "dark": "frappePink",
+ "light": "frappePink"
+ },
+ "error": {
+ "dark": "frappeRed",
+ "light": "frappeRed"
+ },
+ "warning": {
+ "dark": "frappeYellow",
+ "light": "frappeYellow"
+ },
+ "success": {
+ "dark": "frappeGreen",
+ "light": "frappeGreen"
+ },
+ "info": {
+ "dark": "frappeTeal",
+ "light": "frappeTeal"
+ },
+ "text": {
+ "dark": "frappeText",
+ "light": "frappeText"
+ },
+ "textMuted": {
+ "dark": "frappeSubtext1",
+ "light": "frappeSubtext1"
+ },
+ "background": {
+ "dark": "frappeBase",
+ "light": "frappeBase"
+ },
+ "backgroundPanel": {
+ "dark": "frappeMantle",
+ "light": "frappeMantle"
+ },
+ "backgroundElement": {
+ "dark": "frappeCrust",
+ "light": "frappeCrust"
+ },
+ "border": {
+ "dark": "frappeSurface0",
+ "light": "frappeSurface0"
+ },
+ "borderActive": {
+ "dark": "frappeSurface1",
+ "light": "frappeSurface1"
+ },
+ "borderSubtle": {
+ "dark": "frappeSurface2",
+ "light": "frappeSurface2"
+ },
+ "diffAdded": {
+ "dark": "frappeGreen",
+ "light": "frappeGreen"
+ },
+ "diffRemoved": {
+ "dark": "frappeRed",
+ "light": "frappeRed"
+ },
+ "diffContext": {
+ "dark": "frappeOverlay2",
+ "light": "frappeOverlay2"
+ },
+ "diffHunkHeader": {
+ "dark": "frappePeach",
+ "light": "frappePeach"
+ },
+ "diffHighlightAdded": {
+ "dark": "frappeGreen",
+ "light": "frappeGreen"
+ },
+ "diffHighlightRemoved": {
+ "dark": "frappeRed",
+ "light": "frappeRed"
+ },
+ "diffAddedBg": {
+ "dark": "#29342b",
+ "light": "#29342b"
+ },
+ "diffRemovedBg": {
+ "dark": "#3a2a31",
+ "light": "#3a2a31"
+ },
+ "diffContextBg": {
+ "dark": "frappeMantle",
+ "light": "frappeMantle"
+ },
+ "diffLineNumber": {
+ "dark": "frappeSurface1",
+ "light": "frappeSurface1"
+ },
+ "diffAddedLineNumberBg": {
+ "dark": "#223025",
+ "light": "#223025"
+ },
+ "diffRemovedLineNumberBg": {
+ "dark": "#2f242b",
+ "light": "#2f242b"
+ },
+ "markdownText": {
+ "dark": "frappeText",
+ "light": "frappeText"
+ },
+ "markdownHeading": {
+ "dark": "frappeMauve",
+ "light": "frappeMauve"
+ },
+ "markdownLink": {
+ "dark": "frappeBlue",
+ "light": "frappeBlue"
+ },
+ "markdownLinkText": {
+ "dark": "frappeSky",
+ "light": "frappeSky"
+ },
+ "markdownCode": {
+ "dark": "frappeGreen",
+ "light": "frappeGreen"
+ },
+ "markdownBlockQuote": {
+ "dark": "frappeYellow",
+ "light": "frappeYellow"
+ },
+ "markdownEmph": {
+ "dark": "frappeYellow",
+ "light": "frappeYellow"
+ },
+ "markdownStrong": {
+ "dark": "frappePeach",
+ "light": "frappePeach"
+ },
+ "markdownHorizontalRule": {
+ "dark": "frappeSubtext0",
+ "light": "frappeSubtext0"
+ },
+ "markdownListItem": {
+ "dark": "frappeBlue",
+ "light": "frappeBlue"
+ },
+ "markdownListEnumeration": {
+ "dark": "frappeSky",
+ "light": "frappeSky"
+ },
+ "markdownImage": {
+ "dark": "frappeBlue",
+ "light": "frappeBlue"
+ },
+ "markdownImageText": {
+ "dark": "frappeSky",
+ "light": "frappeSky"
+ },
+ "markdownCodeBlock": {
+ "dark": "frappeText",
+ "light": "frappeText"
+ },
+ "syntaxComment": {
+ "dark": "frappeOverlay2",
+ "light": "frappeOverlay2"
+ },
+ "syntaxKeyword": {
+ "dark": "frappeMauve",
+ "light": "frappeMauve"
+ },
+ "syntaxFunction": {
+ "dark": "frappeBlue",
+ "light": "frappeBlue"
+ },
+ "syntaxVariable": {
+ "dark": "frappeRed",
+ "light": "frappeRed"
+ },
+ "syntaxString": {
+ "dark": "frappeGreen",
+ "light": "frappeGreen"
+ },
+ "syntaxNumber": {
+ "dark": "frappePeach",
+ "light": "frappePeach"
+ },
+ "syntaxType": {
+ "dark": "frappeYellow",
+ "light": "frappeYellow"
+ },
+ "syntaxOperator": {
+ "dark": "frappeSky",
+ "light": "frappeSky"
+ },
+ "syntaxPunctuation": {
+ "dark": "frappeText",
+ "light": "frappeText"
+ }
+ }
+}