Skip to content

Commit

Permalink
bug: [skip travis] Add a better check for default colors in the confi…
Browse files Browse the repository at this point in the history
…g file
  • Loading branch information
ClementTsang committed Nov 21, 2020
1 parent 6ef1d66 commit 99d0402
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
"regexes",
"rsplitn",
"runlevel",
"rustflags",
"rustfmt",
"shilangyu",
"softirq",
Expand Down
4 changes: 2 additions & 2 deletions src/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ pub const OLD_CONFIG_TEXT: &str = r##"# This is a default config file for bottom
# This group of options represents a command-line flag/option. Flags explicitly
# added when running (ie: btm -a) will override this config file if an option
# is also set here.
[flags]
#[flags]
# Whether to hide the average cpu entry.
#hide_avg_cpu = false
# Whether to use dot markers rather than braille.
Expand Down Expand Up @@ -405,7 +405,7 @@ pub const OLD_CONFIG_TEXT: &str = r##"# This is a default config file for bottom
# These are all the components that support custom theming. Note that colour support
# will depend on terminal support.
[colors]
#[colors]
# Represents the colour of table headers (processes, CPU, disks, temperature).
#table_header_color="LightBlue"
# Represents the colour of the label each widget has.
Expand Down
25 changes: 22 additions & 3 deletions src/options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,18 @@ pub struct ConfigColours {
pub low_battery_color: Option<String>,
}

impl ConfigColours {
pub fn is_empty(&self) -> bool {
if let Ok(serialized_string) = toml::to_string(self) {
if !serialized_string.is_empty() {
return false;
}
}

true
}
}

#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct IgnoreList {
pub is_list_ignored: bool,
Expand Down Expand Up @@ -918,9 +930,16 @@ pub fn get_color_scheme(
if let Some(color) = matches.value_of("color") {
// Highest priority is always command line flags...
return ColourScheme::from_str(color);
} else if config.colors.is_some() {
// Then, give priority to custom colours...
return Ok(ColourScheme::Custom);
} else if let Some(colors) = &config.colors {
if !colors.is_empty() {
// Then, give priority to custom colours...
return Ok(ColourScheme::Custom);
} else if let Some(flags) = &config.flags {
// Last priority is config file flags...
if let Some(color) = &flags.color {
return ColourScheme::from_str(color);
}
}
} else if let Some(flags) = &config.flags {
// Last priority is config file flags...
if let Some(color) = &flags.color {
Expand Down

0 comments on commit 99d0402

Please sign in to comment.