rose_pine.rs

  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}