1use gpui::rgba;
2
3use crate::{
4 default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
5 SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
6};
7
8pub fn synthwave_84() -> ThemeFamily {
9 ThemeFamily {
10 id: "5e0f0cd5-5522-45cf-a652-caeb140eb3de".into(),
11 name: "Synthwave 84".into(),
12 author: "Robb Owen (robb0wen)".into(),
13 themes: vec![ThemeVariant {
14 id: "83110d9e-dbf0-4f36-9a4c-6b396ce9a5a4".into(),
15 name: "Synthwave 84".into(),
16 appearance: Appearance::Dark,
17 styles: ThemeStyles {
18 system: SystemColors {
19 transparent: rgba(0x00000000).into(),
20 mac_os_traffic_light_red: rgba(0xec6b5fff).into(),
21 mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(),
22 mac_os_traffic_light_green: rgba(0x61c454ff).into(),
23 },
24 colors: ThemeColors {
25 border: rgba(0x363a3fff).into(),
26 border_variant: rgba(0x2e3135ff).into(),
27 border_focused: rgba(0x004073ff).into(),
28 border_disabled: rgba(0x212225ff).into(),
29 border_selected: rgba(0x004073ff).into(),
30 border_transparent: rgba(0x00000000).into(),
31 elevated_surface_background: rgba(0x18191bff).into(),
32 surface_background: rgba(0x18191bff).into(),
33 background: rgba(0x252334ff).into(),
34 element_background: rgba(0x614d85ff).into(),
35 element_hover: rgba(0x272a2dff).into(),
36 element_active: rgba(0x2e3135ff).into(),
37 element_selected: rgba(0x2e3135ff).into(),
38 element_disabled: rgba(0xddeaf814).into(),
39 element_placeholder: rgba(0xb0b4baff).into(),
40 element_drop_target: rgba(0x1166fb18).into(),
41 ghost_element_background: rgba(0x00000000).into(),
42 ghost_element_hover: rgba(0x272a2dff).into(),
43 ghost_element_active: rgba(0x2e3135ff).into(),
44 ghost_element_selected: rgba(0x2e3135ff).into(),
45 ghost_element_disabled: rgba(0xddeaf814).into(),
46 text: rgba(0xffffffff).into(),
47 text_muted: rgba(0xb0b4baff).into(),
48 text_placeholder: rgba(0x767a83ff).into(),
49 text_disabled: rgba(0x696e77ff).into(),
50 text_accent: rgba(0x6fb8ffff).into(),
51 icon: rgba(0xb0b4baff).into(),
52 icon_muted: rgba(0x767a83ff).into(),
53 icon_disabled: rgba(0x696e77ff).into(),
54 icon_placeholder: rgba(0x767a83ff).into(),
55 icon_accent: rgba(0x6fb8ffff).into(),
56 status_bar_background: rgba(0x18191bff).into(),
57 title_bar_background: rgba(0x18191bff).into(),
58 toolbar_background: rgba(0x111113ff).into(),
59 tab_bar_background: rgba(0x18191bff).into(),
60 tab_inactive_background: rgba(0x252334ff).into(),
61 tab_active_background: rgba(0x111113ff).into(),
62 editor_background: rgba(0x111113ff).into(),
63 editor_subheader_background: rgba(0x18191bff).into(),
64 editor_active_line: rgba(0xddeaf814).into(),
65 terminal_background: rgba(0x111113ff).into(),
66 terminal_ansi_bright_black: rgba(0x000000e6).into(),
67 terminal_ansi_bright_red: rgba(0xfe444fff).into(),
68 terminal_ansi_bright_green: rgba(0x71f1b7ff).into(),
69 terminal_ansi_bright_yellow: rgba(0xfede5cff).into(),
70 terminal_ansi_bright_blue: rgba(0x02edf9ff).into(),
71 terminal_ansi_bright_magenta: rgba(0xff7ddaff).into(),
72 terminal_ansi_bright_cyan: rgba(0x02edf9ff).into(),
73 terminal_ansi_bright_white: rgba(0xb0b4baff).into(),
74 terminal_ansi_black: rgba(0x000000f2).into(),
75 terminal_ansi_red: rgba(0xfe444fff).into(),
76 terminal_ansi_green: rgba(0x71f1b7ff).into(),
77 terminal_ansi_yellow: rgba(0xf3e70fff).into(),
78 terminal_ansi_blue: rgba(0x02edf9ff).into(),
79 terminal_ansi_magenta: rgba(0xff7ddaff).into(),
80 terminal_ansi_cyan: rgba(0x02edf9ff).into(),
81 terminal_ansi_white: rgba(0xedeef0ff).into(),
82 },
83 status: StatusColors {
84 conflict: rgba(0xff9592ff).into(),
85 created: rgba(0x70cf82ff).into(),
86 deleted: rgba(0xff9592ff).into(),
87 error: rgba(0xff9592ff).into(),
88 hidden: rgba(0xb0b4baff).into(),
89 ignored: rgba(0xb0b4baff).into(),
90 info: rgba(0x6fb8ffff).into(),
91 modified: rgba(0xf5e147ff).into(),
92 renamed: rgba(0x6fb8ffff).into(),
93 success: rgba(0x70cf82ff).into(),
94 warning: rgba(0xf5e147ff).into(),
95 },
96 git: GitStatusColors {
97 conflict: rgba(0xffa057ff).into(),
98 created: rgba(0x70cf82ff).into(),
99 deleted: rgba(0xff9592ff).into(),
100 ignored: rgba(0xb0b4baff).into(),
101 modified: rgba(0xf5e147ff).into(),
102 renamed: rgba(0x6fb8ffff).into(),
103 },
104 player: PlayerColors(vec![
105 PlayerColor {
106 cursor: rgba(0x00000000).into(),
107 background: rgba(0x00000000).into(),
108 selection: rgba(0x00000000).into(),
109 },
110 PlayerColor {
111 cursor: rgba(0x00000000).into(),
112 background: rgba(0x00000000).into(),
113 selection: rgba(0x00000000).into(),
114 },
115 PlayerColor {
116 cursor: rgba(0x00000000).into(),
117 background: rgba(0x00000000).into(),
118 selection: rgba(0x00000000).into(),
119 },
120 PlayerColor {
121 cursor: rgba(0x00000000).into(),
122 background: rgba(0x00000000).into(),
123 selection: rgba(0x00000000).into(),
124 },
125 ]),
126 syntax: SyntaxTheme {
127 highlights: vec![
128 ("attribute".into(), rgba(0x4ccce6ff).into()),
129 ("boolean".into(), rgba(0xff977dff).into()),
130 ("comment".into(), rgba(0xb0b4baff).into()),
131 ("comment.doc".into(), rgba(0xe0dffeff).into()),
132 ("constant".into(), rgba(0x8c323aff).into()),
133 ("constructor".into(), rgba(0x8c323aff).into()),
134 ("embedded".into(), rgba(0x8c323aff).into()),
135 ("emphasis".into(), rgba(0x8c323aff).into()),
136 ("emphasis.strong".into(), rgba(0x8c323aff).into()),
137 ("enum".into(), rgba(0x8c323aff).into()),
138 ("function".into(), rgba(0x8c323aff).into()),
139 ("hint".into(), rgba(0x8c323aff).into()),
140 ("keyword".into(), rgba(0xffa057ff).into()),
141 ("label".into(), rgba(0x8c323aff).into()),
142 ("link_text".into(), rgba(0x8c323aff).into()),
143 ("link_uri".into(), rgba(0x8c323aff).into()),
144 ("number".into(), rgba(0x8c323aff).into()),
145 ("operator".into(), rgba(0x8c323aff).into()),
146 ("predictive".into(), rgba(0x8c323aff).into()),
147 ("preproc".into(), rgba(0x8c323aff).into()),
148 ("primary".into(), rgba(0x8c323aff).into()),
149 ("property".into(), rgba(0x8c323aff).into()),
150 ("punctuation".into(), rgba(0xb0b4baff).into()),
151 ("punctuation.bracket".into(), rgba(0xb0b4baff).into()),
152 ("punctuation.delimiter".into(), rgba(0xb0b4baff).into()),
153 ("punctuation.list_marker".into(), rgba(0x6fb8ffff).into()),
154 ("punctuation.special".into(), rgba(0x8c323aff).into()),
155 ("string".into(), rgba(0x1ed8a3ff).into()),
156 ("string.escape".into(), rgba(0x8c323aff).into()),
157 ("string.regex".into(), rgba(0xff977dff).into()),
158 ("string.special".into(), rgba(0x8c323aff).into()),
159 ("string.special.symbol".into(), rgba(0x8c323aff).into()),
160 ("tag".into(), rgba(0x8c323aff).into()),
161 ("text.literal".into(), rgba(0x8c323aff).into()),
162 ("title".into(), rgba(0x8c323aff).into()),
163 ("type".into(), rgba(0x8c323aff).into()),
164 ("variable".into(), rgba(0x8c323aff).into()),
165 ("variable.special".into(), rgba(0x8c323aff).into()),
166 ("variant".into(), rgba(0x8c323aff).into()),
167 ],
168 },
169 },
170 }],
171 scales: default_color_scales(),
172 }
173}