Start removing colour config from explore (#10270)

This PR removes the `explore.try.border_color` config item, and instead
always uses the `separator` colour (the one used for regular table
borders) from the current theme.

The PR also removes some unused `explore.config` bits from the default
config (I missed this in https://github.com/nushell/nushell/pull/10259).

### Future Work

This PR is intentionally small, I want to confirm that I'm on the right
track before I rip out more colour config from `explore`. If all goes
well, expect more PRs like this soon.

### Testing

I confirmed that this works by changing my `separator` colour in
`config.nu`, and also confirmed that nothing breaks if a user still has
`explore.try.border_color` in their config.
This commit is contained in:
Reilly Wood 2023-09-08 07:34:47 -07:00 committed by GitHub
parent 9bca63ebef
commit e62a77a885
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 8 additions and 35 deletions

View File

@ -47,7 +47,6 @@ impl ViewCommand for TryCmd {
#[rustfmt::skip] #[rustfmt::skip]
let config_options = vec![ let config_options = vec![
ConfigOption::boolean(":try options", "In the `:try` REPL, attempt to run the command on every keypress", "try.reactive"), ConfigOption::boolean(":try options", "In the `:try` REPL, attempt to run the command on every keypress", "try.reactive"),
ConfigOption::new(":try options", "Change a border color of the menus", "try.border_color", default_color_list()),
ConfigOption::new(":try options", "Change a highlighted menu color", "try.highlighted_color", default_color_list()), ConfigOption::new(":try options", "Change a highlighted menu color", "try.highlighted_color", default_color_list()),
]; ];

View File

@ -219,8 +219,6 @@ fn prepare_default_config(config: &mut HashMap<String, Value>) {
const TABLE_SELECT_COLUMN: Style = color(None, None); const TABLE_SELECT_COLUMN: Style = color(None, None);
const TRY_BORDER_COLOR: Style = color(None, None);
const CONFIG_CURSOR_COLOR: Style = color(Some(Color::Black), Some(Color::LightYellow)); const CONFIG_CURSOR_COLOR: Style = color(Some(Color::Black), Some(Color::LightYellow));
insert_style(config, "status_bar_background", STATUS_BAR); insert_style(config, "status_bar_background", STATUS_BAR);
@ -262,17 +260,6 @@ fn prepare_default_config(config: &mut HashMap<String, Value>) {
config.insert(String::from("table"), map_into_value(hm)); config.insert(String::from("table"), map_into_value(hm));
} }
{
let mut hm = config
.get("try")
.and_then(parse_hash_map)
.unwrap_or_default();
insert_style(&mut hm, "border_color", TRY_BORDER_COLOR);
config.insert(String::from("try"), map_into_value(hm));
}
{ {
let mut hm = config let mut hm = config
.get("config") .get("config")
@ -344,15 +331,6 @@ fn include_nu_config(config: &mut HashMap<String, Value>, style_computer: &Style
config.insert(String::from("table"), map_into_value(map)); config.insert(String::from("table"), map_into_value(map));
} }
{
let mut map = config
.get("try")
.and_then(parse_hash_map)
.unwrap_or_default();
insert_style(&mut map, "border_color", line_color);
config.insert(String::from("try"), map_into_value(map));
}
{ {
let mut map = config let mut map = config
.get("config") .get("config")

View File

@ -20,7 +20,7 @@ use crate::{
use super::{ use super::{
record::{RecordView, TableTheme}, record::{RecordView, TableTheme},
util::nu_style_to_tui, util::{lookup_tui_color, nu_style_to_tui},
Layout, Orientation, View, ViewConfig, Layout, Orientation, View, ViewConfig,
}; };
@ -248,13 +248,11 @@ impl View for InteractiveView<'_> {
} }
fn setup(&mut self, config: ViewConfig<'_>) { fn setup(&mut self, config: ViewConfig<'_>) {
self.border_color = lookup_tui_color(config.style_computer, "separator");
if let Some(hm) = config.config.get("try").and_then(create_map) { if let Some(hm) = config.config.get("try").and_then(create_map) {
let colors = get_color_map(&hm); let colors = get_color_map(&hm);
if let Some(color) = colors.get("border_color").copied() {
self.border_color = nu_style_to_tui(color);
}
if let Some(color) = colors.get("highlighted_color").copied() { if let Some(color) = colors.get("highlighted_color").copied() {
self.highlighted_color = nu_style_to_tui(color); self.highlighted_color = nu_style_to_tui(color);
} }

View File

@ -33,6 +33,11 @@ pub fn set_span(
text_width as u16 text_width as u16
} }
pub fn lookup_tui_color(style_computer: &StyleComputer, key: &str) -> Style {
let nu_style = style_computer.compute(key, &Value::nothing(nu_protocol::Span::unknown()));
nu_style_to_tui(nu_style)
}
pub fn nu_style_to_tui(style: NuStyle) -> ratatui::style::Style { pub fn nu_style_to_tui(style: NuStyle) -> ratatui::style::Style {
let mut out = ratatui::style::Style::default(); let mut out = ratatui::style::Style::default();
if let Some(clr) = style.background { if let Some(clr) = style.background {

View File

@ -178,9 +178,6 @@ $env.config = {
} }
explore: { explore: {
try: {
border_color: {fg: "white"}
},
status_bar_background: {fg: "#1D1F21", bg: "#C4C9C6"}, status_bar_background: {fg: "#1D1F21", bg: "#C4C9C6"},
command_bar_text: {fg: "#C4C9C6"}, command_bar_text: {fg: "#C4C9C6"},
highlight: {fg: "black", bg: "yellow"}, highlight: {fg: "black", bg: "yellow"},
@ -200,10 +197,6 @@ $env.config = {
line_shift: true, line_shift: true,
line_index: true, line_index: true,
}, },
config: {
border_color: {fg: "white"}
cursor_color: {fg: "black", bg: "light_yellow"}
},
} }
history: { history: {