Files
Cagire/crates/ratatui/src/theme/fairyfloss.rs

282 lines
9.0 KiB
Rust

use super::*;
use ratatui::style::Color;
pub fn theme() -> ThemeColors {
let bg = Color::Rgb(90, 84, 117);
let bg_light = Color::Rgb(113, 103, 153);
let bg_lighter = Color::Rgb(130, 120, 165);
let fg = Color::Rgb(248, 248, 240);
let fg_dim = Color::Rgb(197, 163, 255);
let muted = Color::Rgb(168, 164, 177);
let dark = Color::Rgb(55, 51, 72);
let purple = Color::Rgb(174, 129, 255);
let pink = Color::Rgb(255, 184, 209);
let coral = Color::Rgb(255, 133, 127);
let yellow = Color::Rgb(255, 243, 82);
let gold = Color::Rgb(230, 192, 0);
let mint = Color::Rgb(194, 255, 223);
let lavender = Color::Rgb(197, 163, 255);
ThemeColors {
ui: UiColors {
bg,
bg_rgb: (90, 84, 117),
text_primary: fg,
text_muted: fg_dim,
text_dim: muted,
border: bg_lighter,
header: mint,
unfocused: muted,
accent: pink,
surface: bg_light,
},
status: StatusColors {
playing_bg: Color::Rgb(70, 95, 85),
playing_fg: mint,
stopped_bg: Color::Rgb(100, 70, 85),
stopped_fg: coral,
fill_on: mint,
fill_off: muted,
fill_bg: bg_light,
},
selection: SelectionColors {
cursor_bg: pink,
cursor_fg: dark,
selected_bg: Color::Rgb(120, 90, 130),
selected_fg: pink,
in_range_bg: Color::Rgb(100, 95, 125),
in_range_fg: fg,
cursor: pink,
selected: Color::Rgb(120, 90, 130),
in_range: Color::Rgb(100, 95, 125),
},
tile: TileColors {
playing_active_bg: Color::Rgb(100, 85, 60),
playing_active_fg: gold,
playing_inactive_bg: Color::Rgb(95, 90, 70),
playing_inactive_fg: yellow,
active_bg: Color::Rgb(70, 100, 100),
active_fg: mint,
inactive_bg: bg_light,
inactive_fg: fg_dim,
active_selected_bg: Color::Rgb(120, 90, 130),
active_in_range_bg: Color::Rgb(100, 95, 125),
link_bright: [
(255, 184, 209),
(174, 129, 255),
(255, 133, 127),
(194, 255, 223),
(255, 243, 82),
],
link_dim: [
(100, 75, 90),
(85, 70, 105),
(100, 65, 65),
(75, 100, 95),
(100, 95, 55),
],
},
header: HeaderColors {
tempo_bg: Color::Rgb(100, 75, 95),
tempo_fg: pink,
bank_bg: Color::Rgb(70, 95, 95),
bank_fg: mint,
pattern_bg: Color::Rgb(85, 75, 110),
pattern_fg: purple,
stats_bg: bg_light,
stats_fg: fg_dim,
},
modal: ModalColors {
border: mint,
border_accent: pink,
border_warn: coral,
border_dim: muted,
confirm: coral,
rename: purple,
input: mint,
editor: mint,
preview: muted,
},
flash: FlashColors {
error_bg: Color::Rgb(100, 65, 70),
error_fg: coral,
success_bg: Color::Rgb(65, 95, 85),
success_fg: mint,
info_bg: bg_light,
info_fg: fg,
},
list: ListColors {
playing_bg: Color::Rgb(65, 95, 85),
playing_fg: mint,
staged_play_bg: Color::Rgb(95, 80, 120),
staged_play_fg: purple,
staged_stop_bg: Color::Rgb(105, 70, 85),
staged_stop_fg: pink,
edit_bg: Color::Rgb(70, 95, 100),
edit_fg: mint,
hover_bg: bg_lighter,
hover_fg: fg,
muted_bg: Color::Rgb(75, 70, 95),
muted_fg: muted,
soloed_bg: Color::Rgb(100, 95, 65),
soloed_fg: yellow,
},
link_status: LinkStatusColors {
disabled: coral,
connected: mint,
listening: yellow,
},
syntax: SyntaxColors {
gap_bg: dark,
executed_bg: Color::Rgb(80, 75, 100),
selected_bg: Color::Rgb(110, 100, 70),
emit: (fg, Color::Rgb(110, 80, 100)),
number: (purple, Color::Rgb(85, 75, 110)),
string: (yellow, Color::Rgb(100, 95, 60)),
comment: (muted, dark),
keyword: (pink, Color::Rgb(105, 75, 90)),
stack_op: (mint, Color::Rgb(70, 100, 95)),
operator: (pink, Color::Rgb(105, 75, 90)),
sound: (mint, Color::Rgb(70, 100, 95)),
param: (coral, Color::Rgb(105, 70, 70)),
context: (coral, Color::Rgb(105, 70, 70)),
note: (lavender, Color::Rgb(85, 75, 110)),
interval: (Color::Rgb(220, 190, 255), Color::Rgb(85, 75, 100)),
variable: (lavender, Color::Rgb(85, 75, 110)),
vary: (yellow, Color::Rgb(100, 95, 60)),
generator: (mint, Color::Rgb(70, 95, 95)),
user_defined: (coral, Color::Rgb(100, 75, 75)),
default: (fg_dim, dark),
},
table: TableColors {
row_even: dark,
row_odd: bg,
},
values: ValuesColors {
tempo: coral,
value: fg_dim,
},
hint: HintColors {
key: coral,
text: muted,
},
view_badge: ViewBadgeColors { bg: fg, fg: bg },
nav: NavColors {
selected_bg: Color::Rgb(110, 85, 120),
selected_fg: fg,
unselected_bg: bg_light,
unselected_fg: muted,
},
editor_widget: EditorWidgetColors {
cursor_bg: fg,
cursor_fg: bg,
selection_bg: Color::Rgb(105, 95, 125),
completion_bg: bg_light,
completion_fg: fg,
completion_selected: coral,
completion_example: mint,
},
browser: BrowserColors {
directory: mint,
project_file: purple,
selected: coral,
file: fg,
focused_border: coral,
unfocused_border: muted,
root: fg,
file_icon: muted,
folder_icon: mint,
empty_text: muted,
},
input: InputColors {
text: mint,
cursor: fg,
hint: muted,
},
search: SearchColors {
active: coral,
inactive: muted,
match_bg: yellow,
match_fg: dark,
},
markdown: MarkdownColors {
h1: mint,
h2: coral,
h3: purple,
code: lavender,
code_border: Color::Rgb(120, 115, 140),
link: pink,
link_url: Color::Rgb(150, 145, 165),
quote: muted,
text: fg,
list: fg,
},
engine: EngineColors {
header: mint,
header_focused: yellow,
divider: Color::Rgb(110, 105, 130),
scroll_indicator: Color::Rgb(125, 120, 145),
label: Color::Rgb(175, 170, 190),
label_focused: Color::Rgb(210, 205, 225),
label_dim: Color::Rgb(145, 140, 160),
value: Color::Rgb(230, 225, 240),
focused: yellow,
normal: fg,
dim: Color::Rgb(125, 120, 145),
path: Color::Rgb(175, 170, 190),
border_magenta: pink,
border_green: mint,
border_cyan: lavender,
separator: Color::Rgb(110, 105, 130),
hint_active: Color::Rgb(240, 230, 120),
hint_inactive: Color::Rgb(110, 105, 130),
},
dict: DictColors {
word_name: lavender,
word_bg: Color::Rgb(75, 85, 105),
alias: muted,
stack_sig: purple,
description: fg,
example: Color::Rgb(175, 170, 190),
category_focused: yellow,
category_selected: mint,
category_normal: fg,
category_dimmed: Color::Rgb(125, 120, 145),
border_focused: yellow,
border_normal: Color::Rgb(110, 105, 130),
header_desc: Color::Rgb(195, 190, 210),
},
title: TitleColors {
big_title: pink,
author: mint,
link: lavender,
license: coral,
prompt: Color::Rgb(195, 190, 210),
subtitle: fg,
},
meter: MeterColors {
low: mint,
mid: yellow,
high: coral,
low_rgb: (194, 255, 223),
mid_rgb: (255, 243, 82),
high_rgb: (255, 133, 127),
},
sparkle: SparkleColors {
colors: [
(194, 255, 223),
(255, 133, 127),
(255, 243, 82),
(255, 184, 209),
(174, 129, 255),
],
},
confirm: ConfirmColors {
border: coral,
button_selected_bg: coral,
button_selected_fg: dark,
},
}
}