Add text_color and line_color for table theming (#2378)

* created text_color and line_color functions with hopes of theming soon.

* added text_color and line_color to hastableproperties

* Refactor Tractor.

* more refactoring
This commit is contained in:
Darren Schroeder 2020-08-20 11:03:56 -05:00 committed by GitHub
parent ad395944ef
commit cb4527fc0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,6 +15,8 @@ pub trait HasTableProperties: Debug + Send {
fn header_bold(&self) -> bool;
fn table_mode(&self) -> nu_table::Theme;
fn disabled_indexes(&self) -> bool;
fn text_color(&self) -> Option<ansi_term::Color>;
fn line_color(&self) -> Option<ansi_term::Color>;
}
pub fn pivot_mode(config: &NuConfig) -> AutoPivotMode {
@ -54,10 +56,10 @@ pub fn header_alignment(config: &NuConfig) -> nu_table::Alignment {
})
}
pub fn header_color(config: &NuConfig) -> Option<ansi_term::Color> {
pub fn get_color_for_config_key(config: &NuConfig, key: &str) -> Option<ansi_term::Color> {
let vars = config.vars.lock();
Some(match vars.get("header_color") {
Some(match vars.get(key) {
Some(c) => match c.as_string() {
Ok(color) => match color.to_lowercase().as_str() {
"g" | "green" => ansi_term::Color::Green,
@ -114,7 +116,15 @@ impl HasTableProperties for NuConfig {
}
fn header_color(&self) -> Option<ansi_term::Color> {
header_color(self)
get_color_for_config_key(self, "header_color")
}
fn text_color(&self) -> Option<ansi_term::Color> {
get_color_for_config_key(self, "text_color")
}
fn line_color(&self) -> Option<ansi_term::Color> {
get_color_for_config_key(self, "line_color")
}
fn header_bold(&self) -> bool {