use super::*; use ratatui::style::Color; pub fn theme() -> ThemeColors { let polar_night0 = Color::Rgb(46, 52, 64); let polar_night1 = Color::Rgb(59, 66, 82); let polar_night2 = Color::Rgb(67, 76, 94); let polar_night3 = Color::Rgb(76, 86, 106); let snow_storm0 = Color::Rgb(216, 222, 233); let snow_storm2 = Color::Rgb(236, 239, 244); let frost0 = Color::Rgb(143, 188, 187); let frost1 = Color::Rgb(136, 192, 208); let frost2 = Color::Rgb(129, 161, 193); let aurora_red = Color::Rgb(191, 97, 106); let aurora_orange = Color::Rgb(208, 135, 112); let aurora_yellow = Color::Rgb(235, 203, 139); let aurora_green = Color::Rgb(163, 190, 140); let aurora_purple = Color::Rgb(180, 142, 173); ThemeColors { ui: UiColors { bg: polar_night0, bg_rgb: (46, 52, 64), text_primary: snow_storm2, text_muted: snow_storm0, text_dim: polar_night3, border: polar_night2, header: frost1, unfocused: polar_night3, accent: frost1, surface: polar_night1, }, status: StatusColors { playing_bg: Color::Rgb(50, 65, 60), playing_fg: aurora_green, stopped_bg: Color::Rgb(65, 50, 55), stopped_fg: aurora_red, fill_on: aurora_green, fill_off: polar_night3, fill_bg: polar_night1, }, selection: SelectionColors { cursor_bg: frost1, cursor_fg: polar_night0, selected_bg: Color::Rgb(70, 85, 105), selected_fg: frost1, in_range_bg: Color::Rgb(60, 70, 90), in_range_fg: snow_storm0, cursor: frost1, selected: Color::Rgb(70, 85, 105), in_range: Color::Rgb(60, 70, 90), }, tile: TileColors { playing_active_bg: Color::Rgb(80, 70, 65), playing_active_fg: aurora_orange, playing_inactive_bg: Color::Rgb(75, 70, 55), playing_inactive_fg: aurora_yellow, active_bg: Color::Rgb(50, 65, 65), active_fg: frost0, inactive_bg: polar_night1, inactive_fg: snow_storm0, active_selected_bg: Color::Rgb(75, 75, 95), active_in_range_bg: Color::Rgb(60, 70, 85), link_bright: [ (136, 192, 208), (180, 142, 173), (208, 135, 112), (143, 188, 187), (163, 190, 140), ], link_dim: [ (55, 75, 85), (70, 60, 70), (75, 55, 50), (55, 75, 75), (60, 75, 55), ], }, header: HeaderColors { tempo_bg: Color::Rgb(65, 55, 70), tempo_fg: aurora_purple, bank_bg: Color::Rgb(45, 60, 70), bank_fg: frost2, pattern_bg: Color::Rgb(50, 65, 65), pattern_fg: frost0, stats_bg: polar_night1, stats_fg: snow_storm0, }, modal: ModalColors { border: frost1, border_accent: aurora_purple, border_warn: aurora_orange, border_dim: polar_night3, confirm: aurora_orange, rename: aurora_purple, input: frost2, editor: frost1, preview: polar_night3, }, flash: FlashColors { error_bg: Color::Rgb(65, 50, 55), error_fg: aurora_red, success_bg: Color::Rgb(50, 65, 55), success_fg: aurora_green, info_bg: polar_night1, info_fg: snow_storm2, event_rgb: (60, 55, 75), }, list: ListColors { playing_bg: Color::Rgb(50, 65, 55), playing_fg: aurora_green, staged_play_bg: Color::Rgb(65, 55, 70), staged_play_fg: aurora_purple, staged_stop_bg: Color::Rgb(70, 55, 60), staged_stop_fg: aurora_red, edit_bg: Color::Rgb(50, 65, 65), edit_fg: frost0, hover_bg: polar_night2, hover_fg: snow_storm2, }, link_status: LinkStatusColors { disabled: aurora_red, connected: aurora_green, listening: aurora_yellow, }, syntax: SyntaxColors { gap_bg: polar_night1, executed_bg: Color::Rgb(55, 55, 70), selected_bg: Color::Rgb(80, 70, 55), emit: (snow_storm2, Color::Rgb(75, 55, 60)), number: (aurora_orange, Color::Rgb(65, 55, 50)), string: (aurora_green, Color::Rgb(50, 60, 50)), comment: (polar_night3, polar_night0), keyword: (aurora_purple, Color::Rgb(60, 50, 65)), stack_op: (frost2, Color::Rgb(45, 55, 70)), operator: (aurora_yellow, Color::Rgb(65, 60, 45)), sound: (frost0, Color::Rgb(45, 60, 60)), param: (frost1, Color::Rgb(50, 60, 70)), context: (aurora_orange, Color::Rgb(65, 55, 50)), note: (aurora_green, Color::Rgb(50, 60, 50)), interval: (Color::Rgb(170, 200, 150), Color::Rgb(50, 60, 45)), variable: (aurora_purple, Color::Rgb(60, 50, 60)), vary: (aurora_yellow, Color::Rgb(65, 60, 45)), generator: (frost0, Color::Rgb(45, 60, 55)), default: (snow_storm0, polar_night1), }, table: TableColors { row_even: polar_night1, row_odd: polar_night0, }, values: ValuesColors { tempo: aurora_orange, value: snow_storm0, }, hint: HintColors { key: aurora_orange, text: polar_night3, }, view_badge: ViewBadgeColors { bg: snow_storm2, fg: polar_night0, }, nav: NavColors { selected_bg: Color::Rgb(65, 75, 95), selected_fg: snow_storm2, unselected_bg: polar_night1, unselected_fg: polar_night3, }, editor_widget: EditorWidgetColors { cursor_bg: snow_storm2, cursor_fg: polar_night0, selection_bg: Color::Rgb(60, 75, 100), completion_bg: polar_night1, completion_fg: snow_storm2, completion_selected: aurora_orange, completion_example: frost0, }, browser: BrowserColors { directory: frost2, project_file: aurora_purple, selected: aurora_orange, file: snow_storm2, focused_border: aurora_orange, unfocused_border: polar_night3, root: snow_storm2, file_icon: polar_night3, folder_icon: frost2, empty_text: polar_night3, }, input: InputColors { text: frost2, cursor: snow_storm2, hint: polar_night3, }, search: SearchColors { active: aurora_orange, inactive: polar_night3, match_bg: aurora_yellow, match_fg: polar_night0, }, markdown: MarkdownColors { h1: frost2, h2: aurora_orange, h3: aurora_purple, code: aurora_green, code_border: Color::Rgb(75, 85, 100), link: frost0, link_url: Color::Rgb(100, 110, 125), quote: polar_night3, text: snow_storm2, list: snow_storm2, }, engine: EngineColors { header: frost1, header_focused: aurora_yellow, divider: Color::Rgb(70, 80, 95), scroll_indicator: Color::Rgb(85, 95, 110), label: Color::Rgb(130, 140, 155), label_focused: Color::Rgb(160, 170, 185), label_dim: Color::Rgb(100, 110, 125), value: Color::Rgb(190, 200, 215), focused: aurora_yellow, normal: snow_storm2, dim: Color::Rgb(85, 95, 110), path: Color::Rgb(130, 140, 155), border_magenta: aurora_purple, border_green: aurora_green, border_cyan: frost2, separator: Color::Rgb(70, 80, 95), hint_active: Color::Rgb(200, 180, 100), hint_inactive: Color::Rgb(70, 80, 95), }, dict: DictColors { word_name: aurora_green, word_bg: Color::Rgb(50, 60, 75), alias: polar_night3, stack_sig: aurora_purple, description: snow_storm2, example: Color::Rgb(130, 140, 155), category_focused: aurora_yellow, category_selected: frost2, category_normal: snow_storm2, category_dimmed: Color::Rgb(85, 95, 110), border_focused: aurora_yellow, border_normal: Color::Rgb(70, 80, 95), header_desc: Color::Rgb(150, 160, 175), }, title: TitleColors { big_title: frost1, author: frost2, link: frost0, license: aurora_orange, prompt: Color::Rgb(150, 160, 175), subtitle: snow_storm2, }, meter: MeterColors { low: aurora_green, mid: aurora_yellow, high: aurora_red, low_rgb: (140, 180, 130), mid_rgb: (220, 190, 120), high_rgb: (180, 90, 100), }, sparkle: SparkleColors { colors: [ (136, 192, 208), (208, 135, 112), (163, 190, 140), (180, 142, 173), (235, 203, 139), ], }, confirm: ConfirmColors { border: aurora_orange, button_selected_bg: aurora_orange, button_selected_fg: polar_night0, }, } }