mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 17:36:19 +04:00
fix: Merge default palette with user palette
This commit is contained in:
parent
e40e6db227
commit
e4e93e176c
@ -124,7 +124,9 @@ ## Color palettes
|
||||
Remember that the `[palette]` table includes all keys after its header,
|
||||
so you should define the palette after normal theme options.
|
||||
|
||||
If there is no `[palette]` section, a default palette which uses the terminal's default 16 colors are used:
|
||||
The default palette uses the terminal's default 16 colors, and the colors names
|
||||
are listed below. The `[palette]` section in the config file takes precedence
|
||||
over it and is merged into the default palette.
|
||||
|
||||
| Color Name |
|
||||
| --- |
|
||||
|
@ -143,30 +143,37 @@ struct ThemePalette {
|
||||
|
||||
impl Default for ThemePalette {
|
||||
fn default() -> Self {
|
||||
Self::new(hashmap! {
|
||||
"black".to_string() => Color::Black,
|
||||
"red".to_string() => Color::Red,
|
||||
"green".to_string() => Color::Green,
|
||||
"yellow".to_string() => Color::Yellow,
|
||||
"blue".to_string() => Color::Blue,
|
||||
"magenta".to_string() => Color::Magenta,
|
||||
"cyan".to_string() => Color::Cyan,
|
||||
"gray".to_string() => Color::Gray,
|
||||
"light-red".to_string() => Color::LightRed,
|
||||
"light-green".to_string() => Color::LightGreen,
|
||||
"light-yellow".to_string() => Color::LightYellow,
|
||||
"light-blue".to_string() => Color::LightBlue,
|
||||
"light-magenta".to_string() => Color::LightMagenta,
|
||||
"light-cyan".to_string() => Color::LightCyan,
|
||||
"light-gray".to_string() => Color::LightGray,
|
||||
"white".to_string() => Color::White,
|
||||
})
|
||||
Self {
|
||||
palette: hashmap! {
|
||||
"black".to_string() => Color::Black,
|
||||
"red".to_string() => Color::Red,
|
||||
"green".to_string() => Color::Green,
|
||||
"yellow".to_string() => Color::Yellow,
|
||||
"blue".to_string() => Color::Blue,
|
||||
"magenta".to_string() => Color::Magenta,
|
||||
"cyan".to_string() => Color::Cyan,
|
||||
"gray".to_string() => Color::Gray,
|
||||
"light-red".to_string() => Color::LightRed,
|
||||
"light-green".to_string() => Color::LightGreen,
|
||||
"light-yellow".to_string() => Color::LightYellow,
|
||||
"light-blue".to_string() => Color::LightBlue,
|
||||
"light-magenta".to_string() => Color::LightMagenta,
|
||||
"light-cyan".to_string() => Color::LightCyan,
|
||||
"light-gray".to_string() => Color::LightGray,
|
||||
"white".to_string() => Color::White,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ThemePalette {
|
||||
pub fn new(palette: HashMap<String, Color>) -> Self {
|
||||
Self { palette }
|
||||
let ThemePalette {
|
||||
palette: mut default,
|
||||
} = ThemePalette::default();
|
||||
|
||||
default.extend(palette);
|
||||
Self { palette: default }
|
||||
}
|
||||
|
||||
pub fn hex_string_to_rgb(s: &str) -> Result<Color, String> {
|
||||
|
Loading…
Reference in New Issue
Block a user