pub fn select_packages(
prompt: &str,
items: &[String],
detected: &[String],
no_color: bool,
) -> Result<Vec<String>>Expand description
Performs a multi-selection with fuzzy filtering by package names.
This is a specialized version of fuzzy_multi_select that:
- Takes string slices instead of generic items
- Converts indices to actual values
- Returns the selected string values instead of indices
§Arguments
prompt- The prompt message to displayitems- The list of items to choose fromdetected- Items to pre-selectno_color- Whether to disable colored output
§Returns
Result<Vec<String>>- The selected item values
§Errors
Returns CliError::User if:
- User cancels the prompt (Ctrl+C)
- Terminal interaction fails
Returns CliError::Validation if:
- No items are selected
§Examples
use sublime_cli_tools::interactive::select::select_packages;
let packages = vec!["pkg-a".to_string(), "pkg-b".to_string()];
let detected = vec!["pkg-a".to_string()];
let selected = select_packages("Select packages", &packages, &detected, false)?;