pub fn fuzzy_select<T: ToString>(
prompt: &str,
items: &[T],
default: Option<usize>,
no_color: bool,
) -> Result<usize>Expand description
Performs a single selection with fuzzy search capability.
Displays a searchable list where users can type to filter options. Results are ranked by relevance to the search query.
§Arguments
prompt- The prompt message to displayitems- The list of items to choose fromdefault- Optional default selection indexno_color- Whether to disable colored output
§Returns
Result<usize>- The index of the selected item
§Errors
Returns CliError::User if:
- User cancels the prompt (Ctrl+C)
- Terminal interaction fails
§Examples
use sublime_cli_tools::interactive::select::fuzzy_select;
let packages = vec!["pkg-a", "pkg-b", "pkg-c"];
let selection = fuzzy_select("Choose a package", &packages, Some(0), false)?;
println!("Selected: {}", packages[selection]);