max / audiofiles
33 files changed,
+61 insertions,
-1045 deletions
| @@ -2426,6 +2426,25 @@ dependencies = [ | |||
| 2426 | 2426 | ] | |
| 2427 | 2427 | ||
| 2428 | 2428 | [[package]] | |
| 2429 | + | name = "include_dir" | |
| 2430 | + | version = "0.7.4" | |
| 2431 | + | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 2432 | + | checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" | |
| 2433 | + | dependencies = [ | |
| 2434 | + | "include_dir_macros", | |
| 2435 | + | ] | |
| 2436 | + | ||
| 2437 | + | [[package]] | |
| 2438 | + | name = "include_dir_macros" | |
| 2439 | + | version = "0.7.4" | |
| 2440 | + | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 2441 | + | checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" | |
| 2442 | + | dependencies = [ | |
| 2443 | + | "proc-macro2", | |
| 2444 | + | "quote", | |
| 2445 | + | ] | |
| 2446 | + | ||
| 2447 | + | [[package]] | |
| 2429 | 2448 | name = "indexmap" | |
| 2430 | 2449 | version = "2.14.0" | |
| 2431 | 2450 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| @@ -2815,10 +2834,11 @@ dependencies = [ | |||
| 2815 | 2834 | ||
| 2816 | 2835 | [[package]] | |
| 2817 | 2836 | name = "makeover" | |
| 2818 | - | version = "0.8.0" | |
| 2837 | + | version = "0.10.0" | |
| 2819 | 2838 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 2820 | - | checksum = "c43e27ea24999c6692f6e72ee286fafc561da0cc6f81bc39fc867621718063f7" | |
| 2839 | + | checksum = "c62c909826835a6a4212081a4c95ef2db0d07c0cb1a550849c2e779b962f093e" | |
| 2821 | 2840 | dependencies = [ | |
| 2841 | + | "include_dir", | |
| 2822 | 2842 | "serde", | |
| 2823 | 2843 | "toml", | |
| 2824 | 2844 | ] |
| @@ -48,4 +48,4 @@ rayon = "1.10" | |||
| 48 | 48 | libc = "0.2" | |
| 49 | 49 | midir = "0.11" | |
| 50 | 50 | tagtree = { path = "../../MNW/shared/tagtree" } | |
| 51 | - | makeover = "0.8.0" | |
| 51 | + | makeover = "0.10.0" |
| @@ -80,7 +80,7 @@ Theme loading comes from [makeover](https://crates.io/crates/makeover), publishe | |||
| 80 | 80 | ### Infrastructure | |
| 81 | 81 | - **Cloud sync**: cross-device sync of metadata, tags, and VFS via SyncKit (E2E encrypted, ChaCha20-Poly1305 + Argon2) | |
| 82 | 82 | - **OTA updates**: background update checker with consent dialog | |
| 83 | - | - **Bundled themes**: dark, light, and high-contrast variants in TOML format (see `crates/audiofiles-browser/themes/`) | |
| 83 | + | - **Bundled themes**: dark, light, and high-contrast variants in TOML format, from the shared [makeover](https://crates.io/crates/makeover) crate | |
| 84 | 84 | - **Audio formats**: WAV, FLAC, MP3, OGG, AIFF (via Symphonia, pure Rust) | |
| 85 | 85 | - **Platforms**: macOS, Windows, Linux (standalone, no backend required) | |
| 86 | 86 |
| @@ -55,37 +55,14 @@ pub mod stroke { | |||
| 55 | 55 | pub const FOCUS: f32 = 1.5; | |
| 56 | 56 | } | |
| 57 | 57 | ||
| 58 | - | // --- Bundled themes (embedded at compile time) --- | |
| 59 | - | ||
| 60 | - | static BUNDLED_THEMES: &[(&str, &str)] = &[ | |
| 61 | - | ("audiofiles", include_str!("../../themes/audiofiles.toml")), | |
| 62 | - | ("tokyonight", include_str!("../../themes/tokyonight.toml")), | |
| 63 | - | ("catppuccin-mocha", include_str!("../../themes/catppuccin-mocha.toml")), | |
| 64 | - | ("catppuccin-macchiato", include_str!("../../themes/catppuccin-macchiato.toml")), | |
| 65 | - | ("catppuccin-frappe", include_str!("../../themes/catppuccin-frappe.toml")), | |
| 66 | - | ("catppuccin-latte", include_str!("../../themes/catppuccin-latte.toml")), | |
| 67 | - | ("one-dark", include_str!("../../themes/one-dark.toml")), | |
| 68 | - | ("dracula", include_str!("../../themes/dracula.toml")), | |
| 69 | - | ("nightfox", include_str!("../../themes/nightfox.toml")), | |
| 70 | - | ("carbonfox", include_str!("../../themes/carbonfox.toml")), | |
| 71 | - | ("oxocarbon-dark", include_str!("../../themes/oxocarbon-dark.toml")), | |
| 72 | - | ("poimandres", include_str!("../../themes/poimandres.toml")), | |
| 73 | - | ("ayu-mirage", include_str!("../../themes/ayu-mirage.toml")), | |
| 74 | - | ("nord", include_str!("../../themes/nord.toml")), | |
| 75 | - | ("ayu-light", include_str!("../../themes/ayu-light.toml")), | |
| 76 | - | ("flatwhite", include_str!("../../themes/flatwhite.toml")), | |
| 77 | - | ("dawnfox", include_str!("../../themes/dawnfox.toml")), | |
| 78 | - | ("oxocarbon-light", include_str!("../../themes/oxocarbon-light.toml")), | |
| 79 | - | ("neobrute", include_str!("../../themes/neobrute.toml")), | |
| 80 | - | ("high-contrast", include_str!("../../themes/high-contrast.toml")), | |
| 81 | - | ("gruvbox-dark", include_str!("../../themes/gruvbox-dark.toml")), | |
| 82 | - | ("gruvbox-light", include_str!("../../themes/gruvbox-light.toml")), | |
| 83 | - | ("rosepine", include_str!("../../themes/rosepine.toml")), | |
| 84 | - | ("rosepine-dawn", include_str!("../../themes/rosepine-dawn.toml")), | |
| 85 | - | ("everforest", include_str!("../../themes/everforest.toml")), | |
| 86 | - | ("solarized-dark", include_str!("../../themes/solarized-dark.toml")), | |
| 87 | - | ("kanagawa", include_str!("../../themes/kanagawa.toml")), | |
| 88 | - | ]; | |
| 58 | + | // --- Bundled themes --- | |
| 59 | + | ||
| 60 | + | /// The shared theme set, from `makeover`. These were once 27 `include_str!` | |
| 61 | + | /// copies of files under `themes/`; they are now read from the one crate every | |
| 62 | + | /// make-family app shares, so a theme added, corrected, or withdrawn there | |
| 63 | + | /// reaches this app without a second copy drifting behind. | |
| 64 | + | static BUNDLED_THEMES: LazyLock<Vec<(&'static str, &'static str)>> = | |
| 65 | + | LazyLock::new(|| makeover::embedded_themes().collect()); | |
| 89 | 66 | ||
| 90 | 67 | /// The resolved theme colors (intent vocabulary) for egui. | |
| 91 | 68 | #[derive(Debug, Clone)] | |
| @@ -309,7 +286,7 @@ fn contrast_ratio(a: Color32, b: Color32) -> f64 { | |||
| 309 | 286 | ||
| 310 | 287 | /// Load a theme's full color set by id (bundled or custom on disk). | |
| 311 | 288 | fn theme_colors_for(id: &str) -> Option<ThemeColors> { | |
| 312 | - | for (bundled_id, content) in BUNDLED_THEMES { | |
| 289 | + | for (bundled_id, content) in BUNDLED_THEMES.iter() { | |
| 313 | 290 | if *bundled_id == id { | |
| 314 | 291 | return parse_theme(content).ok(); | |
| 315 | 292 | } | |
| @@ -342,7 +319,7 @@ pub fn list_themes() -> Vec<ThemeMeta> { | |||
| 342 | 319 | let mut seen = std::collections::HashSet::new(); | |
| 343 | 320 | ||
| 344 | 321 | // Bundled themes first | |
| 345 | - | for (id, content) in BUNDLED_THEMES { | |
| 322 | + | for (id, content) in BUNDLED_THEMES.iter() { | |
| 346 | 323 | let table: toml::Table = match content.parse() { | |
| 347 | 324 | Ok(t) => t, | |
| 348 | 325 | Err(_) => continue, | |
| @@ -480,7 +457,7 @@ pub fn init(id: Option<&str>) { | |||
| 480 | 457 | /// Switch the active theme. Checks bundled themes first, then custom directory. | |
| 481 | 458 | pub fn set_theme(id: &str) { | |
| 482 | 459 | // Try bundled themes first | |
| 483 | - | for (bundled_id, content) in BUNDLED_THEMES { | |
| 460 | + | for (bundled_id, content) in BUNDLED_THEMES.iter() { | |
| 484 | 461 | if *bundled_id == id { | |
| 485 | 462 | match parse_theme(content) { | |
| 486 | 463 | Ok(colors) => { | |
| @@ -521,7 +498,7 @@ pub fn theme_preview_colors(id: &str) -> Option<(Color32, Color32, Color32)> { | |||
| 521 | 498 | let content = { | |
| 522 | 499 | // Check bundled first | |
| 523 | 500 | let mut found = None; | |
| 524 | - | for (bundled_id, c) in BUNDLED_THEMES { | |
| 501 | + | for (bundled_id, c) in BUNDLED_THEMES.iter() { | |
| 525 | 502 | if *bundled_id == id { | |
| 526 | 503 | found = Some(c.to_string()); | |
| 527 | 504 | break; | |
| @@ -555,7 +532,7 @@ pub fn export_theme_content(id: &str) -> Option<String> { | |||
| 555 | 532 | } | |
| 556 | 533 | ||
| 557 | 534 | // Check bundled themes | |
| 558 | - | for (bundled_id, content) in BUNDLED_THEMES { | |
| 535 | + | for (bundled_id, content) in BUNDLED_THEMES.iter() { | |
| 559 | 536 | if *bundled_id == id { | |
| 560 | 537 | return Some(content.to_string()); | |
| 561 | 538 | } | |
| @@ -1072,8 +1049,26 @@ overlay = "#16161e" | |||
| 1072 | 1049 | // --------------------------------------------------------------- | |
| 1073 | 1050 | ||
| 1074 | 1051 | #[test] | |
| 1052 | + | fn bundled_set_comes_from_makeover_and_keeps_this_app_themed() { | |
| 1053 | + | // The theme list is user-visible surface now sourced from another | |
| 1054 | + | // crate, so pin the parts that would be a regression if makeover | |
| 1055 | + | // changed underneath: this app's own skin, and neobrute, which was | |
| 1056 | + | // local here before the consolidation and is not interchangeable with | |
| 1057 | + | // the similarly-descended `goingson` theme. | |
| 1058 | + | let ids: Vec<&str> = BUNDLED_THEMES.iter().map(|(id, _)| *id).collect(); | |
| 1059 | + | for required in ["audiofiles", "neobrute", "high-contrast"] { | |
| 1060 | + | assert!(ids.contains(&required), "bundled set lost `{required}`: {ids:?}"); | |
| 1061 | + | } | |
| 1062 | + | assert!( | |
| 1063 | + | !ids.contains(&"palenight"), | |
| 1064 | + | "palenight was withdrawn over unresolvable provenance and must not return" | |
| 1065 | + | ); | |
| 1066 | + | assert!(ids.len() >= 30, "bundled set looks truncated: {} themes", ids.len()); | |
| 1067 | + | } | |
| 1068 | + | ||
| 1069 | + | #[test] | |
| 1075 | 1070 | fn all_bundled_themes_parse_successfully() { | |
| 1076 | - | for (id, content) in BUNDLED_THEMES { | |
| 1071 | + | for (id, content) in BUNDLED_THEMES.iter() { | |
| 1077 | 1072 | let result = parse_theme(content); | |
| 1078 | 1073 | assert!(result.is_ok(), "Bundled theme '{id}' failed to parse: {:?}", result.err()); | |
| 1079 | 1074 | } | |
| @@ -1081,7 +1076,7 @@ overlay = "#16161e" | |||
| 1081 | 1076 | ||
| 1082 | 1077 | #[test] | |
| 1083 | 1078 | fn all_bundled_themes_have_valid_meta() { | |
| 1084 | - | for (id, content) in BUNDLED_THEMES { | |
| 1079 | + | for (id, content) in BUNDLED_THEMES.iter() { | |
| 1085 | 1080 | let table: toml::Table = content.parse() | |
| 1086 | 1081 | .unwrap_or_else(|e| panic!("Bundled theme '{id}' is invalid TOML: {e}")); | |
| 1087 | 1082 | let meta = makeover::parse_meta(id, &table, false); | |
| @@ -1093,7 +1088,7 @@ overlay = "#16161e" | |||
| 1093 | 1088 | #[test] | |
| 1094 | 1089 | fn bundled_theme_colors_are_not_all_black() { | |
| 1095 | 1090 | // Sanity check: a properly parsed theme shouldn't have all-black fields | |
| 1096 | - | for (id, content) in BUNDLED_THEMES { | |
| 1091 | + | for (id, content) in BUNDLED_THEMES.iter() { | |
| 1097 | 1092 | let theme = parse_theme(content).unwrap(); | |
| 1098 | 1093 | let all_black = theme.surface_page == Color32::BLACK | |
| 1099 | 1094 | && theme.content == Color32::BLACK |
| @@ -1,39 +0,0 @@ | |||
| 1 | - | # audiofiles — the app's titular default skin. Cross-available as a universal | |
| 2 | - | # theme. Built from a 5-tone earthy palette: Ash Grey #CCDAD1 / #9CAEA9, | |
| 3 | - | # Grey Olive #788585, Dim Grey #6F6866, Deep Mocha #38302E. Accents are | |
| 4 | - | # desaturated naturals tuned to harmonize with the sage-to-mocha range. | |
| 5 | - | ||
| 6 | - | [meta] | |
| 7 | - | name = "audiofiles" | |
| 8 | - | variant = "light" | |
| 9 | - | ||
| 10 | - | [surface] | |
| 11 | - | page = "#CCDAD1" | |
| 12 | - | raised = "#DAE3DC" | |
| 13 | - | sunken = "#9CAEA9" | |
| 14 | - | overlay = "#B4C5BB" | |
| 15 | - | ||
| 16 | - | [content] | |
| 17 | - | primary = "#38302E" | |
| 18 | - | secondary = "#6F6866" | |
| 19 | - | muted = "#788585" | |
| 20 | - | ||
| 21 | - | [action] | |
| 22 | - | primary = "#5E7C8E" | |
| 23 | - | ||
| 24 | - | [status] | |
| 25 | - | danger = "#B05F4E" | |
| 26 | - | success = "#6F8A5C" | |
| 27 | - | warning = "#C19A53" | |
| 28 | - | info = "#5F8C82" | |
| 29 | - | ||
| 30 | - | [line] | |
| 31 | - | border = "#9CAEA9" | |
| 32 | - | ||
| 33 | - | [category] | |
| 34 | - | one = "#B05F4E" | |
| 35 | - | two = "#6F8A5C" | |
| 36 | - | three = "#5E7C8E" | |
| 37 | - | four = "#C19A53" | |
| 38 | - | five = "#836A80" | |
| 39 | - | six = "#5F8C82" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Ayu by Konstantin Pschera — MIT License | |
| 2 | - | # https://github.com/ayu-theme | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Ayu Light" | |
| 6 | - | variant = "light" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#e7eaed" | |
| 10 | - | raised = "#f2f4f6" | |
| 11 | - | sunken = "#d0d4d8" | |
| 12 | - | overlay = "#dde1e5" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#5c6166" | |
| 16 | - | secondary = "#6b7580" | |
| 17 | - | muted = "#8b9199" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#399ee6" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#f07171" | |
| 24 | - | success = "#86b300" | |
| 25 | - | warning = "#ffaa33" | |
| 26 | - | info = "#55b4d4" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#828c9a" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#f07171" | |
| 33 | - | two = "#86b300" | |
| 34 | - | three = "#399ee6" | |
| 35 | - | four = "#ffaa33" | |
| 36 | - | five = "#a37acc" | |
| 37 | - | six = "#55b4d4" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Ayu by dempfi — MIT License | |
| 2 | - | # https://github.com/ayu-theme/ayu-colors | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Ayu Mirage" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#1f2430" | |
| 10 | - | raised = "#242936" | |
| 11 | - | sunken = "#272d38" | |
| 12 | - | overlay = "#191e29" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#cccac2" | |
| 16 | - | secondary = "#b8b4aa" | |
| 17 | - | muted = "#707a8c" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#5ccfe6" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#f28779" | |
| 24 | - | success = "#bae67e" | |
| 25 | - | warning = "#ffd580" | |
| 26 | - | info = "#95e6cb" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#33415e" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#f28779" | |
| 33 | - | two = "#bae67e" | |
| 34 | - | three = "#5ccfe6" | |
| 35 | - | four = "#ffd580" | |
| 36 | - | five = "#d4bfff" | |
| 37 | - | six = "#95e6cb" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Carbonfox by EdenEast — MIT License | |
| 2 | - | # https://github.com/EdenEast/nightfox.nvim | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Carbonfox" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#161616" | |
| 10 | - | raised = "#252525" | |
| 11 | - | sunken = "#1e1e1e" | |
| 12 | - | overlay = "#101010" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#f2f4f8" | |
| 16 | - | secondary = "#dde1e6" | |
| 17 | - | muted = "#878d96" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#78a9ff" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#ee5396" | |
| 24 | - | success = "#25be6a" | |
| 25 | - | warning = "#08bdba" | |
| 26 | - | info = "#33b1ff" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#393939" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#ee5396" | |
| 33 | - | two = "#25be6a" | |
| 34 | - | three = "#78a9ff" | |
| 35 | - | four = "#08bdba" | |
| 36 | - | five = "#be95ff" | |
| 37 | - | six = "#33b1ff" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Catppuccin by Catppuccin Org — MIT License | |
| 2 | - | # https://github.com/catppuccin/catppuccin | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Catppuccin Frappé" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#303446" | |
| 10 | - | raised = "#232634" | |
| 11 | - | sunken = "#414559" | |
| 12 | - | overlay = "#292c3c" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#c6d0f5" | |
| 16 | - | secondary = "#b5bfe2" | |
| 17 | - | muted = "#a5adce" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#8caaee" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#e78284" | |
| 24 | - | success = "#a6d189" | |
| 25 | - | warning = "#e5c890" | |
| 26 | - | info = "#81c8be" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#626880" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#e78284" | |
| 33 | - | two = "#a6d189" | |
| 34 | - | three = "#8caaee" | |
| 35 | - | four = "#e5c890" | |
| 36 | - | five = "#ca9ee6" | |
| 37 | - | six = "#81c8be" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Catppuccin by Catppuccin Org — MIT License | |
| 2 | - | # https://github.com/catppuccin/catppuccin | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Catppuccin Latte" | |
| 6 | - | variant = "light" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#e6e9ef" | |
| 10 | - | raised = "#eff1f5" | |
| 11 | - | sunken = "#ccd0da" | |
| 12 | - | overlay = "#dce0e8" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#4c4f69" | |
| 16 | - | secondary = "#5c5f77" | |
| 17 | - | muted = "#6c6f82" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#1e66f5" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#d20f39" | |
| 24 | - | success = "#40a02b" | |
| 25 | - | warning = "#df8e1d" | |
| 26 | - | info = "#04a5e5" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#bcc0cc" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#d20f39" | |
| 33 | - | two = "#40a02b" | |
| 34 | - | three = "#1e66f5" | |
| 35 | - | four = "#df8e1d" | |
| 36 | - | five = "#8839ef" | |
| 37 | - | six = "#04a5e5" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Catppuccin by Catppuccin Org — MIT License | |
| 2 | - | # https://github.com/catppuccin/catppuccin | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Catppuccin Macchiato" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#24273a" | |
| 10 | - | raised = "#181926" | |
| 11 | - | sunken = "#363a4f" | |
| 12 | - | overlay = "#1e2030" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#cad3f5" | |
| 16 | - | secondary = "#b8c0e0" | |
| 17 | - | muted = "#a5adcb" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#8aadf4" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#ed8796" | |
| 24 | - | success = "#a6da95" | |
| 25 | - | warning = "#eed49f" | |
| 26 | - | info = "#8bd5ca" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#5b6078" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#ed8796" | |
| 33 | - | two = "#a6da95" | |
| 34 | - | three = "#8aadf4" | |
| 35 | - | four = "#eed49f" | |
| 36 | - | five = "#c6a0f6" | |
| 37 | - | six = "#8bd5ca" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Catppuccin by Catppuccin Org — MIT License | |
| 2 | - | # https://github.com/catppuccin/catppuccin | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Catppuccin Mocha" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#181825" | |
| 10 | - | raised = "#1e1e2e" | |
| 11 | - | sunken = "#313244" | |
| 12 | - | overlay = "#11111b" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#cdd6f4" | |
| 16 | - | secondary = "#bac2de" | |
| 17 | - | muted = "#9399b2" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#89b4fa" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#f38ba8" | |
| 24 | - | success = "#a6e3a1" | |
| 25 | - | warning = "#f9e2af" | |
| 26 | - | info = "#89dceb" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#45475a" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#f38ba8" | |
| 33 | - | two = "#a6e3a1" | |
| 34 | - | three = "#89b4fa" | |
| 35 | - | four = "#f9e2af" | |
| 36 | - | five = "#cba6f7" | |
| 37 | - | six = "#89dceb" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Dawnfox by EdenEast — MIT License | |
| 2 | - | # https://github.com/EdenEast/nightfox.nvim | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Dawnfox" | |
| 6 | - | variant = "light" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#faf4ed" | |
| 10 | - | raised = "#f5efe8" | |
| 11 | - | sunken = "#ebe0df" | |
| 12 | - | overlay = "#ebe5df" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#575279" | |
| 16 | - | secondary = "#625c87" | |
| 17 | - | muted = "#a8a3b3" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#286983" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#b4637a" | |
| 24 | - | success = "#618774" | |
| 25 | - | warning = "#ea9d34" | |
| 26 | - | info = "#56949f" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#bdbfc9" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#b4637a" | |
| 33 | - | two = "#618774" | |
| 34 | - | three = "#286983" | |
| 35 | - | four = "#ea9d34" | |
| 36 | - | five = "#907aa9" | |
| 37 | - | six = "#56949f" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Dracula by Dracula Theme — MIT License | |
| 2 | - | # https://github.com/dracula/dracula-theme | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Dracula" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#222430" | |
| 10 | - | raised = "#282A36" | |
| 11 | - | sunken = "#44475a" | |
| 12 | - | overlay = "#191A21" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#f8f8f2" | |
| 16 | - | secondary = "#f8f8f2" | |
| 17 | - | muted = "#6272A4" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#8be9fd" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#ff5555" | |
| 24 | - | success = "#50fa7b" | |
| 25 | - | warning = "#f1fa8c" | |
| 26 | - | info = "#8be9fd" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#44475a" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#ff5555" | |
| 33 | - | two = "#50fa7b" | |
| 34 | - | three = "#8be9fd" | |
| 35 | - | four = "#f1fa8c" | |
| 36 | - | five = "#BD93F9" | |
| 37 | - | six = "#8be9fd" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Everforest by sainnhe — MIT License | |
| 2 | - | # https://github.com/sainnhe/everforest | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Everforest" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#2d353b" | |
| 10 | - | raised = "#343f44" | |
| 11 | - | sunken = "#3d484d" | |
| 12 | - | overlay = "#272e33" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#d3c6aa" | |
| 16 | - | secondary = "#9da9a0" | |
| 17 | - | muted = "#7a8478" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#7fbbb3" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#e67e80" | |
| 24 | - | success = "#a7c080" | |
| 25 | - | warning = "#dbbc7f" | |
| 26 | - | info = "#83c092" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#3d484d" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#e67e80" | |
| 33 | - | two = "#a7c080" | |
| 34 | - | three = "#7fbbb3" | |
| 35 | - | four = "#dbbc7f" | |
| 36 | - | five = "#d699b6" | |
| 37 | - | six = "#83c092" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Flatwhite by biletskyy — MIT License | |
| 2 | - | # https://github.com/biletskyy/flatwhite-syntax | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Flatwhite" | |
| 6 | - | variant = "light" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#f1ece4" | |
| 10 | - | raised = "#f7f3ee" | |
| 11 | - | sunken = "#dcd3c6" | |
| 12 | - | overlay = "#e4ddd2" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#605a52" | |
| 16 | - | secondary = "#786d5e" | |
| 17 | - | muted = "#9a8b78" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#4c5361" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#ff1414" | |
| 24 | - | success = "#2db448" | |
| 25 | - | warning = "#f2a60d" | |
| 26 | - | info = "#465953" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#93836c" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#ff1414" | |
| 33 | - | two = "#2db448" | |
| 34 | - | three = "#4c5361" | |
| 35 | - | four = "#f2a60d" | |
| 36 | - | five = "#614c61" | |
| 37 | - | six = "#465953" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Gruvbox by Pavel Pertsev (morhetz) — MIT License | |
| 2 | - | # https://github.com/morhetz/gruvbox | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Gruvbox Dark" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#282828" | |
| 10 | - | raised = "#3c3836" | |
| 11 | - | sunken = "#504945" | |
| 12 | - | overlay = "#1d2021" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#ebdbb2" | |
| 16 | - | secondary = "#d5c4a1" | |
| 17 | - | muted = "#a89984" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#83a598" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#fb4934" | |
| 24 | - | success = "#b8bb26" | |
| 25 | - | warning = "#fabd2f" | |
| 26 | - | info = "#8ec07c" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#504945" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#fb4934" | |
| 33 | - | two = "#b8bb26" | |
| 34 | - | three = "#83a598" | |
| 35 | - | four = "#fabd2f" | |
| 36 | - | five = "#d3869b" | |
| 37 | - | six = "#8ec07c" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Gruvbox by Pavel Pertsev (morhetz) — MIT License | |
| 2 | - | # https://github.com/morhetz/gruvbox | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Gruvbox Light" | |
| 6 | - | variant = "light" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#fbf1c7" | |
| 10 | - | raised = "#f9f5d7" | |
| 11 | - | sunken = "#d5c4a1" | |
| 12 | - | overlay = "#f2e5bc" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#3c3836" | |
| 16 | - | secondary = "#504945" | |
| 17 | - | muted = "#7c6f64" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#076678" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#9d0006" | |
| 24 | - | success = "#79740e" | |
| 25 | - | warning = "#b57614" | |
| 26 | - | info = "#427b58" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#d5c4a1" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#9d0006" | |
| 33 | - | two = "#79740e" | |
| 34 | - | three = "#076678" | |
| 35 | - | four = "#b57614" | |
| 36 | - | five = "#8f3f71" | |
| 37 | - | six = "#427b58" |
| @@ -1,36 +0,0 @@ | |||
| 1 | - | # Original GoingsOn theme | |
| 2 | - | ||
| 3 | - | [meta] | |
| 4 | - | name = "High Contrast" | |
| 5 | - | variant = "high-contrast" | |
| 6 | - | ||
| 7 | - | [surface] | |
| 8 | - | page = "#000000" | |
| 9 | - | raised = "#0a0a0a" | |
| 10 | - | sunken = "#262626" | |
| 11 | - | overlay = "#141414" | |
| 12 | - | ||
| 13 | - | [content] | |
| 14 | - | primary = "#ffffff" | |
| 15 | - | secondary = "#f0f0f0" | |
| 16 | - | muted = "#b0b0b0" | |
| 17 | - | ||
| 18 | - | [action] | |
| 19 | - | primary = "#74c0fc" | |
| 20 | - | ||
| 21 | - | [status] | |
| 22 | - | danger = "#ff6b6b" | |
| 23 | - | success = "#51cf66" | |
| 24 | - | warning = "#ffd43b" | |
| 25 | - | info = "#66d9e8" | |
| 26 | - | ||
| 27 | - | [line] | |
| 28 | - | border = "#666666" | |
| 29 | - | ||
| 30 | - | [category] | |
| 31 | - | one = "#ff6b6b" | |
| 32 | - | two = "#51cf66" | |
| 33 | - | three = "#74c0fc" | |
| 34 | - | four = "#ffd43b" | |
| 35 | - | five = "#da77f2" | |
| 36 | - | six = "#66d9e8" |
| @@ -1,37 +0,0 @@ | |||
| 1 | - | # Based on Kanagawa by Tommaso Laurenzi (rebelot) — MIT License | |
| 2 | - | # https://github.com/rebelot/kanagawa.nvim | |
| 3 | - | ||
| 4 | - | [meta] | |
| 5 | - | name = "Kanagawa" | |
| 6 | - | variant = "dark" | |
| 7 | - | ||
| 8 | - | [surface] | |
| 9 | - | page = "#1F1F28" | |
| 10 | - | raised = "#363646" | |
| 11 | - | sunken = "#2A2A37" | |
| 12 | - | overlay = "#16161D" | |
| 13 | - | ||
| 14 | - | [content] | |
| 15 | - | primary = "#DCD7BA" | |
| 16 | - | secondary = "#C8C093" | |
| 17 | - | muted = "#727169" | |
| 18 | - | ||
| 19 | - | [action] | |
| 20 | - | primary = "#7E9CD8" | |
| 21 | - | ||
| 22 | - | [status] | |
| 23 | - | danger = "#E46876" | |
| 24 | - | success = "#98BB6C" | |
| 25 | - | warning = "#E6C384" | |
| 26 | - | info = "#7FB4CA" | |
| 27 | - | ||
| 28 | - | [line] | |
| 29 | - | border = "#54546D" | |
| 30 | - | ||
| 31 | - | [category] | |
| 32 | - | one = "#E46876" | |
| 33 | - | two = "#98BB6C" | |
| 34 | - | three = "#7E9CD8" | |
| 35 | - | four = "#E6C384" | |
| 36 | - | five = "#957FB8" | |
| 37 | - | six = "#7FB4CA" |