Skip to content

Commit 7dd8ea5

Browse files
authored
feat: add Catppuccin Frappé theme (#5821)
Co-authored-by: shamil2 <[email protected]>
1 parent 3b261e0 commit 7dd8ea5

File tree

2 files changed

+235
-0
lines changed

2 files changed

+235
-0
lines changed

packages/opencode/src/cli/cmd/tui/context/theme.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { createSimpleContext } from "./helper"
66
import aura from "./theme/aura.json" with { type: "json" }
77
import ayu from "./theme/ayu.json" with { type: "json" }
88
import catppuccin from "./theme/catppuccin.json" with { type: "json" }
9+
import catppuccinFrappe from "./theme/catppuccin-frappe.json" with { type: "json" }
910
import catppuccinMacchiato from "./theme/catppuccin-macchiato.json" with { type: "json" }
1011
import cobalt2 from "./theme/cobalt2.json" with { type: "json" }
1112
import cursor from "./theme/cursor.json" with { type: "json" }
@@ -137,6 +138,7 @@ export const DEFAULT_THEMES: Record<string, ThemeJson> = {
137138
aura,
138139
ayu,
139140
catppuccin,
141+
["catppuccin-frappe"]: catppuccinFrappe,
140142
["catppuccin-macchiato"]: catppuccinMacchiato,
141143
cobalt2,
142144
cursor,
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
{
2+
"$schema": "https://opencode.ai/theme.json",
3+
"defs": {
4+
"frappeRosewater": "#f2d5cf",
5+
"frappeFlamingo": "#eebebe",
6+
"frappePink": "#f4b8e4",
7+
"frappeMauve": "#ca9ee6",
8+
"frappeRed": "#e78284",
9+
"frappeMaroon": "#ea999c",
10+
"frappePeach": "#ef9f76",
11+
"frappeYellow": "#e5c890",
12+
"frappeGreen": "#a6d189",
13+
"frappeTeal": "#81c8be",
14+
"frappeSky": "#99d1db",
15+
"frappeSapphire": "#85c1dc",
16+
"frappeBlue": "#8da4e2",
17+
"frappeLavender": "#babbf1",
18+
"frappeText": "#c6d0f5",
19+
"frappeSubtext1": "#b5bfe2",
20+
"frappeSubtext0": "#a5adce",
21+
"frappeOverlay2": "#949cb8",
22+
"frappeOverlay1": "#838ba7",
23+
"frappeOverlay0": "#737994",
24+
"frappeSurface2": "#626880",
25+
"frappeSurface1": "#51576d",
26+
"frappeSurface0": "#414559",
27+
"frappeBase": "#303446",
28+
"frappeMantle": "#292c3c",
29+
"frappeCrust": "#232634"
30+
},
31+
"theme": {
32+
"primary": {
33+
"dark": "frappeBlue",
34+
"light": "frappeBlue"
35+
},
36+
"secondary": {
37+
"dark": "frappeMauve",
38+
"light": "frappeMauve"
39+
},
40+
"accent": {
41+
"dark": "frappePink",
42+
"light": "frappePink"
43+
},
44+
"error": {
45+
"dark": "frappeRed",
46+
"light": "frappeRed"
47+
},
48+
"warning": {
49+
"dark": "frappeYellow",
50+
"light": "frappeYellow"
51+
},
52+
"success": {
53+
"dark": "frappeGreen",
54+
"light": "frappeGreen"
55+
},
56+
"info": {
57+
"dark": "frappeTeal",
58+
"light": "frappeTeal"
59+
},
60+
"text": {
61+
"dark": "frappeText",
62+
"light": "frappeText"
63+
},
64+
"textMuted": {
65+
"dark": "frappeSubtext1",
66+
"light": "frappeSubtext1"
67+
},
68+
"background": {
69+
"dark": "frappeBase",
70+
"light": "frappeBase"
71+
},
72+
"backgroundPanel": {
73+
"dark": "frappeMantle",
74+
"light": "frappeMantle"
75+
},
76+
"backgroundElement": {
77+
"dark": "frappeCrust",
78+
"light": "frappeCrust"
79+
},
80+
"border": {
81+
"dark": "frappeSurface0",
82+
"light": "frappeSurface0"
83+
},
84+
"borderActive": {
85+
"dark": "frappeSurface1",
86+
"light": "frappeSurface1"
87+
},
88+
"borderSubtle": {
89+
"dark": "frappeSurface2",
90+
"light": "frappeSurface2"
91+
},
92+
"diffAdded": {
93+
"dark": "frappeGreen",
94+
"light": "frappeGreen"
95+
},
96+
"diffRemoved": {
97+
"dark": "frappeRed",
98+
"light": "frappeRed"
99+
},
100+
"diffContext": {
101+
"dark": "frappeOverlay2",
102+
"light": "frappeOverlay2"
103+
},
104+
"diffHunkHeader": {
105+
"dark": "frappePeach",
106+
"light": "frappePeach"
107+
},
108+
"diffHighlightAdded": {
109+
"dark": "frappeGreen",
110+
"light": "frappeGreen"
111+
},
112+
"diffHighlightRemoved": {
113+
"dark": "frappeRed",
114+
"light": "frappeRed"
115+
},
116+
"diffAddedBg": {
117+
"dark": "#29342b",
118+
"light": "#29342b"
119+
},
120+
"diffRemovedBg": {
121+
"dark": "#3a2a31",
122+
"light": "#3a2a31"
123+
},
124+
"diffContextBg": {
125+
"dark": "frappeMantle",
126+
"light": "frappeMantle"
127+
},
128+
"diffLineNumber": {
129+
"dark": "frappeSurface1",
130+
"light": "frappeSurface1"
131+
},
132+
"diffAddedLineNumberBg": {
133+
"dark": "#223025",
134+
"light": "#223025"
135+
},
136+
"diffRemovedLineNumberBg": {
137+
"dark": "#2f242b",
138+
"light": "#2f242b"
139+
},
140+
"markdownText": {
141+
"dark": "frappeText",
142+
"light": "frappeText"
143+
},
144+
"markdownHeading": {
145+
"dark": "frappeMauve",
146+
"light": "frappeMauve"
147+
},
148+
"markdownLink": {
149+
"dark": "frappeBlue",
150+
"light": "frappeBlue"
151+
},
152+
"markdownLinkText": {
153+
"dark": "frappeSky",
154+
"light": "frappeSky"
155+
},
156+
"markdownCode": {
157+
"dark": "frappeGreen",
158+
"light": "frappeGreen"
159+
},
160+
"markdownBlockQuote": {
161+
"dark": "frappeYellow",
162+
"light": "frappeYellow"
163+
},
164+
"markdownEmph": {
165+
"dark": "frappeYellow",
166+
"light": "frappeYellow"
167+
},
168+
"markdownStrong": {
169+
"dark": "frappePeach",
170+
"light": "frappePeach"
171+
},
172+
"markdownHorizontalRule": {
173+
"dark": "frappeSubtext0",
174+
"light": "frappeSubtext0"
175+
},
176+
"markdownListItem": {
177+
"dark": "frappeBlue",
178+
"light": "frappeBlue"
179+
},
180+
"markdownListEnumeration": {
181+
"dark": "frappeSky",
182+
"light": "frappeSky"
183+
},
184+
"markdownImage": {
185+
"dark": "frappeBlue",
186+
"light": "frappeBlue"
187+
},
188+
"markdownImageText": {
189+
"dark": "frappeSky",
190+
"light": "frappeSky"
191+
},
192+
"markdownCodeBlock": {
193+
"dark": "frappeText",
194+
"light": "frappeText"
195+
},
196+
"syntaxComment": {
197+
"dark": "frappeOverlay2",
198+
"light": "frappeOverlay2"
199+
},
200+
"syntaxKeyword": {
201+
"dark": "frappeMauve",
202+
"light": "frappeMauve"
203+
},
204+
"syntaxFunction": {
205+
"dark": "frappeBlue",
206+
"light": "frappeBlue"
207+
},
208+
"syntaxVariable": {
209+
"dark": "frappeRed",
210+
"light": "frappeRed"
211+
},
212+
"syntaxString": {
213+
"dark": "frappeGreen",
214+
"light": "frappeGreen"
215+
},
216+
"syntaxNumber": {
217+
"dark": "frappePeach",
218+
"light": "frappePeach"
219+
},
220+
"syntaxType": {
221+
"dark": "frappeYellow",
222+
"light": "frappeYellow"
223+
},
224+
"syntaxOperator": {
225+
"dark": "frappeSky",
226+
"light": "frappeSky"
227+
},
228+
"syntaxPunctuation": {
229+
"dark": "frappeText",
230+
"light": "frappeText"
231+
}
232+
}
233+
}

0 commit comments

Comments
 (0)