From af79da7bf22c951ba7503540683319769d8bfc90 Mon Sep 17 00:00:00 2001 From: Vineet Date: Mon, 24 Mar 2025 09:40:20 -0700 Subject: [PATCH] fix(cli): multiselect visibility for light themes (#1716) --- crates/goose-cli/src/commands/configure.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/goose-cli/src/commands/configure.rs b/crates/goose-cli/src/commands/configure.rs index 6a1a36728a..2d20db5c73 100644 --- a/crates/goose-cli/src/commands/configure.rs +++ b/crates/goose-cli/src/commands/configure.rs @@ -10,6 +10,10 @@ use serde_json::{json, Value}; use std::collections::HashMap; use std::error::Error; +// useful for light themes where there is no dicernible colour contrast between +// cursor-selected and cursor-unselected items. +const MULTISELECT_VISIBILITY_HINT: &str = "<"; + fn get_display_name(extension_id: &str) -> String { match extension_id { "developer" => "Developer Tools".to_string(), @@ -408,7 +412,7 @@ pub fn toggle_extensions_dialog() -> Result<(), Box> { .items( &extension_status .iter() - .map(|(name, _)| (name, name.as_str(), "")) + .map(|(name, _)| (name, name.as_str(), MULTISELECT_VISIBILITY_HINT)) .collect::>(), ) .initial_values(enabled_extensions) @@ -719,7 +723,7 @@ pub fn remove_extension_dialog() -> Result<(), Box> { &disabled_extensions .iter() .filter(|(_, enabled)| !enabled) - .map(|(name, _)| (name, name.as_str(), "")) + .map(|(name, _)| (name, name.as_str(), MULTISELECT_VISIBILITY_HINT)) .collect::>(), ) .interact()?; @@ -872,7 +876,7 @@ pub fn toggle_experiments_dialog() -> Result<(), Box> { .items( &experiments .iter() - .map(|(name, _)| (name, name.as_str(), "")) + .map(|(name, _)| (name, name.as_str(), MULTISELECT_VISIBILITY_HINT)) .collect::>(), ) .initial_values(enabled_experiments)