mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-23 01:46:18 +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,
|
Remember that the `[palette]` table includes all keys after its header,
|
||||||
so you should define the palette after normal theme options.
|
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 |
|
| Color Name |
|
||||||
| --- |
|
| --- |
|
||||||
|
@ -143,30 +143,37 @@ struct ThemePalette {
|
|||||||
|
|
||||||
impl Default for ThemePalette {
|
impl Default for ThemePalette {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self::new(hashmap! {
|
Self {
|
||||||
"black".to_string() => Color::Black,
|
palette: hashmap! {
|
||||||
"red".to_string() => Color::Red,
|
"black".to_string() => Color::Black,
|
||||||
"green".to_string() => Color::Green,
|
"red".to_string() => Color::Red,
|
||||||
"yellow".to_string() => Color::Yellow,
|
"green".to_string() => Color::Green,
|
||||||
"blue".to_string() => Color::Blue,
|
"yellow".to_string() => Color::Yellow,
|
||||||
"magenta".to_string() => Color::Magenta,
|
"blue".to_string() => Color::Blue,
|
||||||
"cyan".to_string() => Color::Cyan,
|
"magenta".to_string() => Color::Magenta,
|
||||||
"gray".to_string() => Color::Gray,
|
"cyan".to_string() => Color::Cyan,
|
||||||
"light-red".to_string() => Color::LightRed,
|
"gray".to_string() => Color::Gray,
|
||||||
"light-green".to_string() => Color::LightGreen,
|
"light-red".to_string() => Color::LightRed,
|
||||||
"light-yellow".to_string() => Color::LightYellow,
|
"light-green".to_string() => Color::LightGreen,
|
||||||
"light-blue".to_string() => Color::LightBlue,
|
"light-yellow".to_string() => Color::LightYellow,
|
||||||
"light-magenta".to_string() => Color::LightMagenta,
|
"light-blue".to_string() => Color::LightBlue,
|
||||||
"light-cyan".to_string() => Color::LightCyan,
|
"light-magenta".to_string() => Color::LightMagenta,
|
||||||
"light-gray".to_string() => Color::LightGray,
|
"light-cyan".to_string() => Color::LightCyan,
|
||||||
"white".to_string() => Color::White,
|
"light-gray".to_string() => Color::LightGray,
|
||||||
})
|
"white".to_string() => Color::White,
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ThemePalette {
|
impl ThemePalette {
|
||||||
pub fn new(palette: HashMap<String, Color>) -> Self {
|
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> {
|
pub fn hex_string_to_rgb(s: &str) -> Result<Color, String> {
|
||||||
|
Loading…
Reference in New Issue
Block a user