Skip to content

Commit c1e6037

Browse files
authored
feat: add mercury.com theme (#5141)
1 parent 8e816a9 commit c1e6037

File tree

2 files changed

+254
-0
lines changed

2 files changed

+254
-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
@@ -15,6 +15,7 @@ import gruvbox from "./theme/gruvbox.json" with { type: "json" }
1515
import kanagawa from "./theme/kanagawa.json" with { type: "json" }
1616
import material from "./theme/material.json" with { type: "json" }
1717
import matrix from "./theme/matrix.json" with { type: "json" }
18+
import mercury from "./theme/mercury.json" with { type: "json" }
1819
import monokai from "./theme/monokai.json" with { type: "json" }
1920
import nightowl from "./theme/nightowl.json" with { type: "json" }
2021
import nord from "./theme/nord.json" with { type: "json" }
@@ -139,6 +140,7 @@ export const DEFAULT_THEMES: Record<string, ThemeJson> = {
139140
kanagawa,
140141
material,
141142
matrix,
143+
mercury,
142144
monokai,
143145
nightowl,
144146
nord,
Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
{
2+
"$schema": "https://opencode.ai/theme.json",
3+
"defs": {
4+
"purple-800": "#3442a6",
5+
"purple-700": "#465bd1",
6+
"purple-600": "#5266eb",
7+
"purple-400": "#8da4f5",
8+
"purple-300": "#a7b6f8",
9+
10+
"red-700": "#b0175f",
11+
"red-600": "#d03275",
12+
"red-400": "#fc92b4",
13+
14+
"green-700": "#036e43",
15+
"green-600": "#188554",
16+
"green-400": "#77c599",
17+
18+
"orange-700": "#a44200",
19+
"orange-600": "#c45000",
20+
"orange-400": "#fc9b6f",
21+
22+
"blue-600": "#007f95",
23+
"blue-400": "#77becf",
24+
25+
"neutral-1000": "#10101a",
26+
"neutral-950": "#171721",
27+
"neutral-900": "#1e1e2a",
28+
"neutral-800": "#272735",
29+
"neutral-700": "#363644",
30+
"neutral-600": "#535461",
31+
"neutral-500": "#70707d",
32+
"neutral-400": "#9d9da8",
33+
"neutral-300": "#c3c3cc",
34+
"neutral-200": "#dddde5",
35+
"neutral-100": "#f4f5f9",
36+
"neutral-050": "#fbfcfd",
37+
"neutral-000": "#ffffff",
38+
"neutral-150": "#ededf3",
39+
40+
"border-light": "#7073931a",
41+
"border-light-subtle": "#7073930f",
42+
"border-dark": "#b4b7c81f",
43+
"border-dark-subtle": "#b4b7c814",
44+
45+
"diff-added-light": "#1885541a",
46+
"diff-removed-light": "#d032751a",
47+
"diff-added-dark": "#77c59933",
48+
"diff-removed-dark": "#fc92b433"
49+
},
50+
"theme": {
51+
"primary": {
52+
"light": "purple-600",
53+
"dark": "purple-400"
54+
},
55+
"secondary": {
56+
"light": "purple-700",
57+
"dark": "purple-300"
58+
},
59+
"accent": {
60+
"light": "purple-400",
61+
"dark": "purple-400"
62+
},
63+
"error": {
64+
"light": "red-700",
65+
"dark": "red-400"
66+
},
67+
"warning": {
68+
"light": "orange-700",
69+
"dark": "orange-400"
70+
},
71+
"success": {
72+
"light": "green-700",
73+
"dark": "green-400"
74+
},
75+
"info": {
76+
"light": "blue-600",
77+
"dark": "blue-400"
78+
},
79+
"text": {
80+
"light": "neutral-700",
81+
"dark": "neutral-200"
82+
},
83+
"textMuted": {
84+
"light": "neutral-500",
85+
"dark": "neutral-400"
86+
},
87+
"background": {
88+
"light": "neutral-000",
89+
"dark": "neutral-950"
90+
},
91+
"backgroundPanel": {
92+
"light": "neutral-050",
93+
"dark": "neutral-1000"
94+
},
95+
"backgroundElement": {
96+
"light": "neutral-100",
97+
"dark": "neutral-800"
98+
},
99+
"border": {
100+
"light": "border-light",
101+
"dark": "border-dark"
102+
},
103+
"borderActive": {
104+
"light": "purple-600",
105+
"dark": "purple-400"
106+
},
107+
"borderSubtle": {
108+
"light": "border-light-subtle",
109+
"dark": "border-dark-subtle"
110+
},
111+
"diffAdded": {
112+
"light": "green-700",
113+
"dark": "green-400"
114+
},
115+
"diffRemoved": {
116+
"light": "red-700",
117+
"dark": "red-400"
118+
},
119+
"diffContext": {
120+
"light": "neutral-500",
121+
"dark": "neutral-400"
122+
},
123+
"diffHunkHeader": {
124+
"light": "neutral-500",
125+
"dark": "neutral-400"
126+
},
127+
"diffHighlightAdded": {
128+
"light": "green-700",
129+
"dark": "green-400"
130+
},
131+
"diffHighlightRemoved": {
132+
"light": "red-700",
133+
"dark": "red-400"
134+
},
135+
"diffAddedBg": {
136+
"light": "diff-added-light",
137+
"dark": "diff-added-dark"
138+
},
139+
"diffRemovedBg": {
140+
"light": "diff-removed-light",
141+
"dark": "diff-removed-dark"
142+
},
143+
"diffContextBg": {
144+
"light": "neutral-050",
145+
"dark": "neutral-900"
146+
},
147+
"diffLineNumber": {
148+
"light": "neutral-600",
149+
"dark": "neutral-300"
150+
},
151+
"diffAddedLineNumberBg": {
152+
"light": "diff-added-light",
153+
"dark": "diff-added-dark"
154+
},
155+
"diffRemovedLineNumberBg": {
156+
"light": "diff-removed-light",
157+
"dark": "diff-removed-dark"
158+
},
159+
"markdownText": {
160+
"light": "neutral-700",
161+
"dark": "neutral-200"
162+
},
163+
"markdownHeading": {
164+
"light": "neutral-900",
165+
"dark": "neutral-000"
166+
},
167+
"markdownLink": {
168+
"light": "purple-700",
169+
"dark": "purple-400"
170+
},
171+
"markdownLinkText": {
172+
"light": "purple-600",
173+
"dark": "purple-300"
174+
},
175+
"markdownCode": {
176+
"light": "green-700",
177+
"dark": "green-400"
178+
},
179+
"markdownBlockQuote": {
180+
"light": "neutral-500",
181+
"dark": "neutral-400"
182+
},
183+
"markdownEmph": {
184+
"light": "orange-700",
185+
"dark": "orange-400"
186+
},
187+
"markdownStrong": {
188+
"light": "neutral-900",
189+
"dark": "neutral-100"
190+
},
191+
"markdownHorizontalRule": {
192+
"light": "border-light",
193+
"dark": "border-dark"
194+
},
195+
"markdownListItem": {
196+
"light": "neutral-900",
197+
"dark": "neutral-000"
198+
},
199+
"markdownListEnumeration": {
200+
"light": "purple-600",
201+
"dark": "purple-400"
202+
},
203+
"markdownImage": {
204+
"light": "purple-700",
205+
"dark": "purple-400"
206+
},
207+
"markdownImageText": {
208+
"light": "purple-600",
209+
"dark": "purple-300"
210+
},
211+
"markdownCodeBlock": {
212+
"light": "neutral-700",
213+
"dark": "neutral-200"
214+
},
215+
"syntaxComment": {
216+
"light": "neutral-500",
217+
"dark": "neutral-400"
218+
},
219+
"syntaxKeyword": {
220+
"light": "purple-700",
221+
"dark": "purple-400"
222+
},
223+
"syntaxFunction": {
224+
"light": "purple-600",
225+
"dark": "purple-400"
226+
},
227+
"syntaxVariable": {
228+
"light": "blue-600",
229+
"dark": "blue-400"
230+
},
231+
"syntaxString": {
232+
"light": "green-700",
233+
"dark": "green-400"
234+
},
235+
"syntaxNumber": {
236+
"light": "orange-700",
237+
"dark": "orange-400"
238+
},
239+
"syntaxType": {
240+
"light": "blue-600",
241+
"dark": "blue-400"
242+
},
243+
"syntaxOperator": {
244+
"light": "purple-700",
245+
"dark": "purple-400"
246+
},
247+
"syntaxPunctuation": {
248+
"light": "neutral-700",
249+
"dark": "neutral-200"
250+
}
251+
}
252+
}

0 commit comments

Comments
 (0)