feat: Add new system for multi-selections.

This commit is contained in:
2026-03-14 13:55:55 -04:00
parent f6f1efdf8e
commit 2e29dfc103
13 changed files with 930 additions and 63 deletions

View File

@@ -41,6 +41,11 @@ pub trait Menu: Send + 'static {
/// for output and hook events.
fn original_index(&self, filtered_index: usize) -> Option<usize>;
/// Get the JSON value of an item by its original (pre-filter)
/// index. Used by multi-select to retrieve selected items
/// that may not be in the current filtered set.
fn serialize_original(&self, original_index: usize) -> Option<&serde_json::Value>;
/// Get the formatted display text for a filtered item,
/// if a format template is configured. Returns None if
/// no template is set, in which case the raw label is