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 ("punctuation.delimiter".into(), rgba(0x9d99b6ff).into()),
41 ("number".into(), rgba(0x5cc1a3ff).into()),
42 ("punctuation.special".into(), rgba(0x9d99b6ff).into()),
43 ("string.escape".into(), rgba(0x76728fff).into()),
44 ("title".into(), rgba(0xf5c177ff).into()),
45 ("constant".into(), rgba(0x5cc1a3ff).into()),
46 ("string.regex".into(), rgba(0xc4a7e6ff).into()),
47 ("type.builtin".into(), rgba(0x9ccfd8ff).into()),
48 ("comment.doc".into(), rgba(0x76728fff).into()),
49 ("primary".into(), rgba(0xe0def4ff).into()),
50 ("string.special".into(), rgba(0xc4a7e6ff).into()),
51 ("punctuation".into(), rgba(0x908caaff).into()),
52 ("string.special.symbol".into(), rgba(0xc4a7e6ff).into()),
53 ("variant".into(), rgba(0x9bced6ff).into()),
54 ("function.method".into(), rgba(0xebbcbaff).into()),
55 ("comment".into(), rgba(0x6e6a86ff).into()),
56 ("boolean".into(), rgba(0xebbcbaff).into()),
57 ("preproc".into(), rgba(0xe0def4ff).into()),
58 ("link_uri".into(), rgba(0xebbcbaff).into()),
59 ("hint".into(), rgba(0x5e768cff).into()),
60 ("attribute".into(), rgba(0x9bced6ff).into()),
61 ("text.literal".into(), rgba(0xc4a7e6ff).into()),
62 ("punctuation.list_marker".into(), rgba(0x9d99b6ff).into()),
63 ("operator".into(), rgba(0x30738fff).into()),
64 ("emphasis.strong".into(), rgba(0x9bced6ff).into()),
65 ("keyword".into(), rgba(0x30738fff).into()),
66 ("enum".into(), rgba(0xc4a7e6ff).into()),
67 ("tag".into(), rgba(0x9ccfd8ff).into()),
68 ("constructor".into(), rgba(0x9bced6ff).into()),
69 ("function".into(), rgba(0xebbcbaff).into()),
70 ("string".into(), rgba(0xf5c177ff).into()),
71 ("type".into(), rgba(0x9ccfd8ff).into()),
72 ("emphasis".into(), rgba(0x9bced6ff).into()),
73 ("link_text".into(), rgba(0x9ccfd8ff).into()),
74 ("property".into(), rgba(0x9bced6ff).into()),
75 ("predictive".into(), rgba(0x556b81ff).into()),
76 ("punctuation.bracket".into(), rgba(0x9d99b6ff).into()),
77 ("embedded".into(), rgba(0xe0def4ff).into()),
78 ("variable".into(), rgba(0xe0def4ff).into()),
79 ("label".into(), rgba(0x9bced6ff).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}