synthwave_84.rs

  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}