select_packages

Function select_packages 

Source
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 display
  • items - The list of items to choose from
  • detected - Items to pre-select
  • no_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)?;