274 lines
8.3 KiB
Rust
274 lines
8.3 KiB
Rust
use super::*;
|
|
use ratatui::style::Color;
|
|
|
|
pub fn theme() -> ThemeColors {
|
|
let red = Color::Rgb(255, 0, 0);
|
|
let dark_red = Color::Rgb(215, 0, 0);
|
|
let darker_red = Color::Rgb(175, 0, 0);
|
|
let yellow = Color::Rgb(255, 255, 0);
|
|
let light_yellow = Color::Rgb(255, 255, 95);
|
|
let gold = Color::Rgb(255, 215, 0);
|
|
let black = Color::Rgb(0, 0, 0);
|
|
let white = Color::Rgb(255, 255, 255);
|
|
|
|
let dim_yellow = Color::Rgb(180, 180, 0);
|
|
let muted_red = Color::Rgb(140, 40, 40);
|
|
|
|
ThemeColors {
|
|
ui: UiColors {
|
|
bg: red,
|
|
bg_rgb: (255, 0, 0),
|
|
text_primary: yellow,
|
|
text_muted: light_yellow,
|
|
text_dim: gold,
|
|
border: yellow,
|
|
header: yellow,
|
|
unfocused: gold,
|
|
accent: yellow,
|
|
surface: dark_red,
|
|
},
|
|
status: StatusColors {
|
|
playing_bg: Color::Rgb(180, 180, 0),
|
|
playing_fg: black,
|
|
stopped_bg: darker_red,
|
|
stopped_fg: yellow,
|
|
fill_on: yellow,
|
|
fill_off: gold,
|
|
fill_bg: dark_red,
|
|
},
|
|
selection: SelectionColors {
|
|
cursor_bg: yellow,
|
|
cursor_fg: red,
|
|
selected_bg: Color::Rgb(200, 200, 0),
|
|
selected_fg: black,
|
|
in_range_bg: Color::Rgb(170, 100, 0),
|
|
in_range_fg: yellow,
|
|
cursor: yellow,
|
|
selected: Color::Rgb(200, 200, 0),
|
|
in_range: Color::Rgb(170, 100, 0),
|
|
},
|
|
tile: TileColors {
|
|
playing_active_bg: Color::Rgb(200, 200, 0),
|
|
playing_active_fg: black,
|
|
playing_inactive_bg: Color::Rgb(180, 180, 0),
|
|
playing_inactive_fg: black,
|
|
active_bg: Color::Rgb(200, 50, 50),
|
|
active_fg: yellow,
|
|
inactive_bg: dark_red,
|
|
inactive_fg: gold,
|
|
active_selected_bg: Color::Rgb(200, 200, 0),
|
|
active_in_range_bg: Color::Rgb(170, 100, 0),
|
|
link_bright: [
|
|
(255, 255, 0),
|
|
(255, 255, 255),
|
|
(255, 215, 0),
|
|
(255, 255, 95),
|
|
(255, 255, 0),
|
|
],
|
|
link_dim: [
|
|
(140, 140, 0),
|
|
(140, 140, 140),
|
|
(140, 120, 0),
|
|
(140, 140, 60),
|
|
(140, 140, 0),
|
|
],
|
|
},
|
|
header: HeaderColors {
|
|
tempo_bg: Color::Rgb(180, 180, 0),
|
|
tempo_fg: black,
|
|
bank_bg: darker_red,
|
|
bank_fg: yellow,
|
|
pattern_bg: Color::Rgb(200, 200, 0),
|
|
pattern_fg: black,
|
|
stats_bg: dark_red,
|
|
stats_fg: yellow,
|
|
},
|
|
modal: ModalColors {
|
|
border: yellow,
|
|
border_accent: white,
|
|
border_warn: gold,
|
|
border_dim: dim_yellow,
|
|
confirm: gold,
|
|
rename: light_yellow,
|
|
input: yellow,
|
|
editor: yellow,
|
|
preview: gold,
|
|
},
|
|
flash: FlashColors {
|
|
error_bg: black,
|
|
error_fg: yellow,
|
|
success_bg: Color::Rgb(180, 180, 0),
|
|
success_fg: black,
|
|
info_bg: dark_red,
|
|
info_fg: yellow,
|
|
event_rgb: (170, 100, 0),
|
|
},
|
|
list: ListColors {
|
|
playing_bg: Color::Rgb(180, 180, 0),
|
|
playing_fg: black,
|
|
staged_play_bg: Color::Rgb(200, 200, 0),
|
|
staged_play_fg: black,
|
|
staged_stop_bg: darker_red,
|
|
staged_stop_fg: yellow,
|
|
edit_bg: Color::Rgb(200, 50, 50),
|
|
edit_fg: yellow,
|
|
hover_bg: Color::Rgb(230, 50, 50),
|
|
hover_fg: yellow,
|
|
},
|
|
link_status: LinkStatusColors {
|
|
disabled: white,
|
|
connected: yellow,
|
|
listening: gold,
|
|
},
|
|
syntax: SyntaxColors {
|
|
gap_bg: darker_red,
|
|
executed_bg: Color::Rgb(200, 50, 50),
|
|
selected_bg: Color::Rgb(180, 180, 0),
|
|
emit: (yellow, muted_red),
|
|
number: (white, muted_red),
|
|
string: (gold, muted_red),
|
|
comment: (dim_yellow, darker_red),
|
|
keyword: (light_yellow, muted_red),
|
|
stack_op: (yellow, muted_red),
|
|
operator: (light_yellow, muted_red),
|
|
sound: (yellow, muted_red),
|
|
param: (gold, muted_red),
|
|
context: (gold, muted_red),
|
|
note: (white, muted_red),
|
|
interval: (Color::Rgb(255, 240, 150), muted_red),
|
|
variable: (white, muted_red),
|
|
vary: (gold, muted_red),
|
|
generator: (yellow, muted_red),
|
|
default: (light_yellow, darker_red),
|
|
},
|
|
table: TableColors {
|
|
row_even: darker_red,
|
|
row_odd: red,
|
|
},
|
|
values: ValuesColors {
|
|
tempo: gold,
|
|
value: light_yellow,
|
|
},
|
|
hint: HintColors {
|
|
key: white,
|
|
text: gold,
|
|
},
|
|
view_badge: ViewBadgeColors { bg: yellow, fg: red },
|
|
nav: NavColors {
|
|
selected_bg: Color::Rgb(200, 200, 0),
|
|
selected_fg: black,
|
|
unselected_bg: dark_red,
|
|
unselected_fg: gold,
|
|
},
|
|
editor_widget: EditorWidgetColors {
|
|
cursor_bg: yellow,
|
|
cursor_fg: red,
|
|
selection_bg: Color::Rgb(180, 180, 0),
|
|
completion_bg: dark_red,
|
|
completion_fg: yellow,
|
|
completion_selected: white,
|
|
completion_example: gold,
|
|
},
|
|
browser: BrowserColors {
|
|
directory: yellow,
|
|
project_file: white,
|
|
selected: gold,
|
|
file: light_yellow,
|
|
focused_border: white,
|
|
unfocused_border: gold,
|
|
root: yellow,
|
|
file_icon: gold,
|
|
folder_icon: yellow,
|
|
empty_text: gold,
|
|
},
|
|
input: InputColors {
|
|
text: yellow,
|
|
cursor: white,
|
|
hint: gold,
|
|
},
|
|
search: SearchColors {
|
|
active: white,
|
|
inactive: gold,
|
|
match_bg: yellow,
|
|
match_fg: red,
|
|
},
|
|
markdown: MarkdownColors {
|
|
h1: yellow,
|
|
h2: white,
|
|
h3: gold,
|
|
code: light_yellow,
|
|
code_border: dim_yellow,
|
|
link: white,
|
|
link_url: gold,
|
|
quote: dim_yellow,
|
|
text: yellow,
|
|
list: yellow,
|
|
},
|
|
engine: EngineColors {
|
|
header: yellow,
|
|
header_focused: white,
|
|
divider: dim_yellow,
|
|
scroll_indicator: gold,
|
|
label: light_yellow,
|
|
label_focused: white,
|
|
label_dim: dim_yellow,
|
|
value: yellow,
|
|
focused: white,
|
|
normal: yellow,
|
|
dim: dim_yellow,
|
|
path: gold,
|
|
border_magenta: gold,
|
|
border_green: yellow,
|
|
border_cyan: white,
|
|
separator: dim_yellow,
|
|
hint_active: white,
|
|
hint_inactive: dim_yellow,
|
|
},
|
|
dict: DictColors {
|
|
word_name: yellow,
|
|
word_bg: darker_red,
|
|
alias: gold,
|
|
stack_sig: white,
|
|
description: yellow,
|
|
example: gold,
|
|
category_focused: white,
|
|
category_selected: yellow,
|
|
category_normal: light_yellow,
|
|
category_dimmed: dim_yellow,
|
|
border_focused: white,
|
|
border_normal: dim_yellow,
|
|
header_desc: gold,
|
|
},
|
|
title: TitleColors {
|
|
big_title: yellow,
|
|
author: white,
|
|
link: gold,
|
|
license: light_yellow,
|
|
prompt: gold,
|
|
subtitle: yellow,
|
|
},
|
|
meter: MeterColors {
|
|
low: yellow,
|
|
mid: gold,
|
|
high: white,
|
|
low_rgb: (255, 255, 0),
|
|
mid_rgb: (255, 215, 0),
|
|
high_rgb: (255, 255, 255),
|
|
},
|
|
sparkle: SparkleColors {
|
|
colors: [
|
|
(255, 255, 0),
|
|
(255, 255, 255),
|
|
(255, 215, 0),
|
|
(255, 255, 95),
|
|
(255, 255, 0),
|
|
],
|
|
},
|
|
confirm: ConfirmColors {
|
|
border: white,
|
|
button_selected_bg: yellow,
|
|
button_selected_fg: red,
|
|
},
|
|
}
|
|
}
|