1use gpui2::rgba;
2
3use crate::{PlayerTheme, SyntaxTheme, Theme, ThemeMetadata};
4
5pub fn rose_pine() -> Theme {
6 Theme {
7 metadata: ThemeMetadata {
8 name: "Rosé Pine".into(),
9 is_light: false,
10 },
11 transparent: rgba(0x00000000).into(),
12 mac_os_traffic_light_red: rgba(0xec695eff).into(),
13 mac_os_traffic_light_yellow: rgba(0xf4bf4eff).into(),
14 mac_os_traffic_light_green: rgba(0x61c553ff).into(),
15 border: rgba(0x423f55ff).into(),
16 border_variant: rgba(0x423f55ff).into(),
17 border_focused: rgba(0x435255ff).into(),
18 border_transparent: rgba(0x00000000).into(),
19 elevated_surface: rgba(0x292738ff).into(),
20 surface: rgba(0x1c1b2aff).into(),
21 background: rgba(0x292738ff).into(),
22 filled_element: rgba(0x292738ff).into(),
23 filled_element_hover: rgba(0xffffff1e).into(),
24 filled_element_active: rgba(0xffffff28).into(),
25 filled_element_selected: rgba(0x2f3639ff).into(),
26 filled_element_disabled: rgba(0x00000000).into(),
27 ghost_element: rgba(0x00000000).into(),
28 ghost_element_hover: rgba(0xffffff14).into(),
29 ghost_element_active: rgba(0xffffff1e).into(),
30 ghost_element_selected: rgba(0x2f3639ff).into(),
31 ghost_element_disabled: rgba(0x00000000).into(),
32 text: rgba(0xe0def4ff).into(),
33 text_muted: rgba(0x74708dff).into(),
34 text_placeholder: rgba(0xea6e92ff).into(),
35 text_disabled: rgba(0x2f2b43ff).into(),
36 text_accent: rgba(0x9bced6ff).into(),
37 icon_muted: rgba(0x74708dff).into(),
38 syntax: SyntaxTheme {
39 highlights: vec![
40 ("text.literal".into(), rgba(0xc4a7e6ff).into()),
41 ("string".into(), rgba(0xf5c177ff).into()),
42 ("enum".into(), rgba(0xc4a7e6ff).into()),
43 ("number".into(), rgba(0x5cc1a3ff).into()),
44 ("attribute".into(), rgba(0x9bced6ff).into()),
45 ("property".into(), rgba(0x9bced6ff).into()),
46 ("function".into(), rgba(0xebbcbaff).into()),
47 ("embedded".into(), rgba(0xe0def4ff).into()),
48 ("punctuation.delimiter".into(), rgba(0x9d99b6ff).into()),
49 ("variant".into(), rgba(0x9bced6ff).into()),
50 ("operator".into(), rgba(0x30738fff).into()),
51 ("comment".into(), rgba(0x6e6a86ff).into()),
52 ("type.builtin".into(), rgba(0x9ccfd8ff).into()),
53 ("label".into(), rgba(0x9bced6ff).into()),
54 ("string.escape".into(), rgba(0x76728fff).into()),
55 ("type".into(), rgba(0x9ccfd8ff).into()),
56 ("constructor".into(), rgba(0x9bced6ff).into()),
57 ("punctuation.bracket".into(), rgba(0x9d99b6ff).into()),
58 ("function.method".into(), rgba(0xebbcbaff).into()),
59 ("tag".into(), rgba(0x9ccfd8ff).into()),
60 ("link_text".into(), rgba(0x9ccfd8ff).into()),
61 ("string.special".into(), rgba(0xc4a7e6ff).into()),
62 ("string.regex".into(), rgba(0xc4a7e6ff).into()),
63 ("preproc".into(), rgba(0xe0def4ff).into()),
64 ("emphasis.strong".into(), rgba(0x9bced6ff).into()),
65 ("emphasis".into(), rgba(0x9bced6ff).into()),
66 ("comment.doc".into(), rgba(0x76728fff).into()),
67 ("boolean".into(), rgba(0xebbcbaff).into()),
68 ("punctuation.list_marker".into(), rgba(0x9d99b6ff).into()),
69 ("hint".into(), rgba(0x5e768cff).into()),
70 ("title".into(), rgba(0xf5c177ff).into()),
71 ("variable".into(), rgba(0xe0def4ff).into()),
72 ("string.special.symbol".into(), rgba(0xc4a7e6ff).into()),
73 ("primary".into(), rgba(0xe0def4ff).into()),
74 ("predictive".into(), rgba(0x556b81ff).into()),
75 ("punctuation".into(), rgba(0x908caaff).into()),
76 ("constant".into(), rgba(0x5cc1a3ff).into()),
77 ("punctuation.special".into(), rgba(0x9d99b6ff).into()),
78 ("link_uri".into(), rgba(0xebbcbaff).into()),
79 ("keyword".into(), rgba(0x30738fff).into()),
80 ],
81 },
82 status_bar: rgba(0x292738ff).into(),
83 title_bar: rgba(0x292738ff).into(),
84 toolbar: rgba(0x191724ff).into(),
85 tab_bar: rgba(0x1c1b2aff).into(),
86 editor: rgba(0x191724ff).into(),
87 editor_subheader: rgba(0x1c1b2aff).into(),
88 editor_active_line: rgba(0x1c1b2aff).into(),
89 terminal: rgba(0x191724ff).into(),
90 image_fallback_background: rgba(0x292738ff).into(),
91 git_created: rgba(0x5cc1a3ff).into(),
92 git_modified: rgba(0x9bced6ff).into(),
93 git_deleted: rgba(0xea6e92ff).into(),
94 git_conflict: rgba(0xf5c177ff).into(),
95 git_ignored: rgba(0x2f2b43ff).into(),
96 git_renamed: rgba(0xf5c177ff).into(),
97 players: [
98 PlayerTheme {
99 cursor: rgba(0x9bced6ff).into(),
100 selection: rgba(0x9bced63d).into(),
101 },
102 PlayerTheme {
103 cursor: rgba(0x5cc1a3ff).into(),
104 selection: rgba(0x5cc1a33d).into(),
105 },
106 PlayerTheme {
107 cursor: rgba(0x9d7591ff).into(),
108 selection: rgba(0x9d75913d).into(),
109 },
110 PlayerTheme {
111 cursor: rgba(0xc4a7e6ff).into(),
112 selection: rgba(0xc4a7e63d).into(),
113 },
114 PlayerTheme {
115 cursor: rgba(0xc4a7e6ff).into(),
116 selection: rgba(0xc4a7e63d).into(),
117 },
118 PlayerTheme {
119 cursor: rgba(0x31738fff).into(),
120 selection: rgba(0x31738f3d).into(),
121 },
122 PlayerTheme {
123 cursor: rgba(0xea6e92ff).into(),
124 selection: rgba(0xea6e923d).into(),
125 },
126 PlayerTheme {
127 cursor: rgba(0xf5c177ff).into(),
128 selection: rgba(0xf5c1773d).into(),
129 },
130 ],
131 }
132}
133
134pub fn rose_pine_dawn() -> Theme {
135 Theme {
136 metadata: ThemeMetadata {
137 name: "Rosé Pine Dawn".into(),
138 is_light: true,
139 },
140 transparent: rgba(0x00000000).into(),
141 mac_os_traffic_light_red: rgba(0xec695eff).into(),
142 mac_os_traffic_light_yellow: rgba(0xf4bf4eff).into(),
143 mac_os_traffic_light_green: rgba(0x61c553ff).into(),
144 border: rgba(0xdcd6d5ff).into(),
145 border_variant: rgba(0xdcd6d5ff).into(),
146 border_focused: rgba(0xc3d7dbff).into(),
147 border_transparent: rgba(0x00000000).into(),
148 elevated_surface: rgba(0xdcd8d8ff).into(),
149 surface: rgba(0xfef9f2ff).into(),
150 background: rgba(0xdcd8d8ff).into(),
151 filled_element: rgba(0xdcd8d8ff).into(),
152 filled_element_hover: rgba(0xffffff1e).into(),
153 filled_element_active: rgba(0xffffff28).into(),
154 filled_element_selected: rgba(0xdde9ebff).into(),
155 filled_element_disabled: rgba(0x00000000).into(),
156 ghost_element: rgba(0x00000000).into(),
157 ghost_element_hover: rgba(0xffffff14).into(),
158 ghost_element_active: rgba(0xffffff1e).into(),
159 ghost_element_selected: rgba(0xdde9ebff).into(),
160 ghost_element_disabled: rgba(0x00000000).into(),
161 text: rgba(0x575279ff).into(),
162 text_muted: rgba(0x706c8cff).into(),
163 text_placeholder: rgba(0xb4647aff).into(),
164 text_disabled: rgba(0x938fa3ff).into(),
165 text_accent: rgba(0x57949fff).into(),
166 icon_muted: rgba(0x706c8cff).into(),
167 syntax: SyntaxTheme {
168 highlights: vec![
169 ("type".into(), rgba(0x55949fff).into()),
170 ("keyword".into(), rgba(0x276983ff).into()),
171 ("link_text".into(), rgba(0x55949fff).into()),
172 ("embedded".into(), rgba(0x575279ff).into()),
173 ("type.builtin".into(), rgba(0x55949fff).into()),
174 ("punctuation.delimiter".into(), rgba(0x635e82ff).into()),
175 ("text.literal".into(), rgba(0x9079a9ff).into()),
176 ("variant".into(), rgba(0x57949fff).into()),
177 ("string".into(), rgba(0xea9d34ff).into()),
178 ("hint".into(), rgba(0x7a92aaff).into()),
179 ("punctuation.special".into(), rgba(0x635e82ff).into()),
180 ("string.special".into(), rgba(0x9079a9ff).into()),
181 ("string.regex".into(), rgba(0x9079a9ff).into()),
182 ("operator".into(), rgba(0x276983ff).into()),
183 ("boolean".into(), rgba(0xd7827dff).into()),
184 ("constructor".into(), rgba(0x57949fff).into()),
185 ("punctuation".into(), rgba(0x797593ff).into()),
186 ("label".into(), rgba(0x57949fff).into()),
187 ("variable".into(), rgba(0x575279ff).into()),
188 ("tag".into(), rgba(0x55949fff).into()),
189 ("primary".into(), rgba(0x575279ff).into()),
190 ("link_uri".into(), rgba(0xd7827dff).into()),
191 ("punctuation.list_marker".into(), rgba(0x635e82ff).into()),
192 ("string.escape".into(), rgba(0x6e6a8bff).into()),
193 ("punctuation.bracket".into(), rgba(0x635e82ff).into()),
194 ("function".into(), rgba(0xd7827dff).into()),
195 ("preproc".into(), rgba(0x575279ff).into()),
196 ("function.method".into(), rgba(0xd7827dff).into()),
197 ("predictive".into(), rgba(0xa2acbeff).into()),
198 ("comment.doc".into(), rgba(0x6e6a8bff).into()),
199 ("comment".into(), rgba(0x9893a5ff).into()),
200 ("number".into(), rgba(0x3daa8eff).into()),
201 ("emphasis".into(), rgba(0x57949fff).into()),
202 ("title".into(), rgba(0xea9d34ff).into()),
203 ("enum".into(), rgba(0x9079a9ff).into()),
204 ("string.special.symbol".into(), rgba(0x9079a9ff).into()),
205 ("constant".into(), rgba(0x3daa8eff).into()),
206 ("emphasis.strong".into(), rgba(0x57949fff).into()),
207 ("property".into(), rgba(0x57949fff).into()),
208 ("attribute".into(), rgba(0x57949fff).into()),
209 ],
210 },
211 status_bar: rgba(0xdcd8d8ff).into(),
212 title_bar: rgba(0xdcd8d8ff).into(),
213 toolbar: rgba(0xfaf4edff).into(),
214 tab_bar: rgba(0xfef9f2ff).into(),
215 editor: rgba(0xfaf4edff).into(),
216 editor_subheader: rgba(0xfef9f2ff).into(),
217 editor_active_line: rgba(0xfef9f2ff).into(),
218 terminal: rgba(0xfaf4edff).into(),
219 image_fallback_background: rgba(0xdcd8d8ff).into(),
220 git_created: rgba(0x3daa8eff).into(),
221 git_modified: rgba(0x57949fff).into(),
222 git_deleted: rgba(0xb4647aff).into(),
223 git_conflict: rgba(0xe99d35ff).into(),
224 git_ignored: rgba(0x938fa3ff).into(),
225 git_renamed: rgba(0xe99d35ff).into(),
226 players: [
227 PlayerTheme {
228 cursor: rgba(0x57949fff).into(),
229 selection: rgba(0x57949f3d).into(),
230 },
231 PlayerTheme {
232 cursor: rgba(0x3daa8eff).into(),
233 selection: rgba(0x3daa8e3d).into(),
234 },
235 PlayerTheme {
236 cursor: rgba(0x7c697fff).into(),
237 selection: rgba(0x7c697f3d).into(),
238 },
239 PlayerTheme {
240 cursor: rgba(0x9079a9ff).into(),
241 selection: rgba(0x9079a93d).into(),
242 },
243 PlayerTheme {
244 cursor: rgba(0x9079a9ff).into(),
245 selection: rgba(0x9079a93d).into(),
246 },
247 PlayerTheme {
248 cursor: rgba(0x296983ff).into(),
249 selection: rgba(0x2969833d).into(),
250 },
251 PlayerTheme {
252 cursor: rgba(0xb4647aff).into(),
253 selection: rgba(0xb4647a3d).into(),
254 },
255 PlayerTheme {
256 cursor: rgba(0xe99d35ff).into(),
257 selection: rgba(0xe99d353d).into(),
258 },
259 ],
260 }
261}
262
263pub fn rose_pine_moon() -> Theme {
264 Theme {
265 metadata: ThemeMetadata {
266 name: "Rosé Pine Moon".into(),
267 is_light: false,
268 },
269 transparent: rgba(0x00000000).into(),
270 mac_os_traffic_light_red: rgba(0xec695eff).into(),
271 mac_os_traffic_light_yellow: rgba(0xf4bf4eff).into(),
272 mac_os_traffic_light_green: rgba(0x61c553ff).into(),
273 border: rgba(0x504c68ff).into(),
274 border_variant: rgba(0x504c68ff).into(),
275 border_focused: rgba(0x435255ff).into(),
276 border_transparent: rgba(0x00000000).into(),
277 elevated_surface: rgba(0x38354eff).into(),
278 surface: rgba(0x28253cff).into(),
279 background: rgba(0x38354eff).into(),
280 filled_element: rgba(0x38354eff).into(),
281 filled_element_hover: rgba(0xffffff1e).into(),
282 filled_element_active: rgba(0xffffff28).into(),
283 filled_element_selected: rgba(0x2f3639ff).into(),
284 filled_element_disabled: rgba(0x00000000).into(),
285 ghost_element: rgba(0x00000000).into(),
286 ghost_element_hover: rgba(0xffffff14).into(),
287 ghost_element_active: rgba(0xffffff1e).into(),
288 ghost_element_selected: rgba(0x2f3639ff).into(),
289 ghost_element_disabled: rgba(0x00000000).into(),
290 text: rgba(0xe0def4ff).into(),
291 text_muted: rgba(0x85819eff).into(),
292 text_placeholder: rgba(0xea6e92ff).into(),
293 text_disabled: rgba(0x605d7aff).into(),
294 text_accent: rgba(0x9bced6ff).into(),
295 icon_muted: rgba(0x85819eff).into(),
296 syntax: SyntaxTheme {
297 highlights: vec![
298 ("embedded".into(), rgba(0xe0def4ff).into()),
299 ("link_uri".into(), rgba(0xea9a97ff).into()),
300 ("primary".into(), rgba(0xe0def4ff).into()),
301 ("punctuation.delimiter".into(), rgba(0xaeabc6ff).into()),
302 ("string.escape".into(), rgba(0x8682a0ff).into()),
303 ("attribute".into(), rgba(0x9bced6ff).into()),
304 ("constant".into(), rgba(0x5cc1a3ff).into()),
305 ("keyword".into(), rgba(0x3d8fb0ff).into()),
306 ("predictive".into(), rgba(0x516b83ff).into()),
307 ("label".into(), rgba(0x9bced6ff).into()),
308 ("comment.doc".into(), rgba(0x8682a0ff).into()),
309 ("emphasis".into(), rgba(0x9bced6ff).into()),
310 ("string".into(), rgba(0xf5c177ff).into()),
311 ("type".into(), rgba(0x9ccfd8ff).into()),
312 ("string.special".into(), rgba(0xc4a7e6ff).into()),
313 ("function".into(), rgba(0xea9a97ff).into()),
314 ("constructor".into(), rgba(0x9bced6ff).into()),
315 ("comment".into(), rgba(0x6e6a86ff).into()),
316 ("preproc".into(), rgba(0xe0def4ff).into()),
317 ("enum".into(), rgba(0xc4a7e6ff).into()),
318 ("punctuation.bracket".into(), rgba(0xaeabc6ff).into()),
319 ("number".into(), rgba(0x5cc1a3ff).into()),
320 ("hint".into(), rgba(0x728aa2ff).into()),
321 ("variant".into(), rgba(0x9bced6ff).into()),
322 ("link_text".into(), rgba(0x9ccfd8ff).into()),
323 ("property".into(), rgba(0x9bced6ff).into()),
324 ("punctuation.list_marker".into(), rgba(0xaeabc6ff).into()),
325 ("operator".into(), rgba(0x3d8fb0ff).into()),
326 ("title".into(), rgba(0xf5c177ff).into()),
327 ("punctuation".into(), rgba(0x908caaff).into()),
328 ("string.regex".into(), rgba(0xc4a7e6ff).into()),
329 ("tag".into(), rgba(0x9ccfd8ff).into()),
330 ("emphasis.strong".into(), rgba(0x9bced6ff).into()),
331 ("text.literal".into(), rgba(0xc4a7e6ff).into()),
332 ("punctuation.special".into(), rgba(0xaeabc6ff).into()),
333 ("boolean".into(), rgba(0xea9a97ff).into()),
334 ("type.builtin".into(), rgba(0x9ccfd8ff).into()),
335 ("function.method".into(), rgba(0xea9a97ff).into()),
336 ("variable".into(), rgba(0xe0def4ff).into()),
337 ("string.special.symbol".into(), rgba(0xc4a7e6ff).into()),
338 ],
339 },
340 status_bar: rgba(0x38354eff).into(),
341 title_bar: rgba(0x38354eff).into(),
342 toolbar: rgba(0x232136ff).into(),
343 tab_bar: rgba(0x28253cff).into(),
344 editor: rgba(0x232136ff).into(),
345 editor_subheader: rgba(0x28253cff).into(),
346 editor_active_line: rgba(0x28253cff).into(),
347 terminal: rgba(0x232136ff).into(),
348 image_fallback_background: rgba(0x38354eff).into(),
349 git_created: rgba(0x5cc1a3ff).into(),
350 git_modified: rgba(0x9bced6ff).into(),
351 git_deleted: rgba(0xea6e92ff).into(),
352 git_conflict: rgba(0xf5c177ff).into(),
353 git_ignored: rgba(0x605d7aff).into(),
354 git_renamed: rgba(0xf5c177ff).into(),
355 players: [
356 PlayerTheme {
357 cursor: rgba(0x9bced6ff).into(),
358 selection: rgba(0x9bced63d).into(),
359 },
360 PlayerTheme {
361 cursor: rgba(0x5cc1a3ff).into(),
362 selection: rgba(0x5cc1a33d).into(),
363 },
364 PlayerTheme {
365 cursor: rgba(0xa683a0ff).into(),
366 selection: rgba(0xa683a03d).into(),
367 },
368 PlayerTheme {
369 cursor: rgba(0xc4a7e6ff).into(),
370 selection: rgba(0xc4a7e63d).into(),
371 },
372 PlayerTheme {
373 cursor: rgba(0xc4a7e6ff).into(),
374 selection: rgba(0xc4a7e63d).into(),
375 },
376 PlayerTheme {
377 cursor: rgba(0x3e8fb0ff).into(),
378 selection: rgba(0x3e8fb03d).into(),
379 },
380 PlayerTheme {
381 cursor: rgba(0xea6e92ff).into(),
382 selection: rgba(0xea6e923d).into(),
383 },
384 PlayerTheme {
385 cursor: rgba(0xf5c177ff).into(),
386 selection: rgba(0xf5c1773d).into(),
387 },
388 ],
389 }
390}