mirror of
https://github.com/nushell/nushell.git
synced 2025-02-02 19:50:05 +01:00
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:
parent
ad395944ef
commit
cb4527fc0d
@ -15,6 +15,8 @@ pub trait HasTableProperties: Debug + Send {
|
|||||||
fn header_bold(&self) -> bool;
|
fn header_bold(&self) -> bool;
|
||||||
fn table_mode(&self) -> nu_table::Theme;
|
fn table_mode(&self) -> nu_table::Theme;
|
||||||
fn disabled_indexes(&self) -> bool;
|
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 {
|
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();
|
let vars = config.vars.lock();
|
||||||
|
|
||||||
Some(match vars.get("header_color") {
|
Some(match vars.get(key) {
|
||||||
Some(c) => match c.as_string() {
|
Some(c) => match c.as_string() {
|
||||||
Ok(color) => match color.to_lowercase().as_str() {
|
Ok(color) => match color.to_lowercase().as_str() {
|
||||||
"g" | "green" => ansi_term::Color::Green,
|
"g" | "green" => ansi_term::Color::Green,
|
||||||
@ -114,7 +116,15 @@ impl HasTableProperties for NuConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn header_color(&self) -> Option<ansi_term::Color> {
|
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 {
|
fn header_bold(&self) -> bool {
|
||||||
|
Loading…
Reference in New Issue
Block a user