Public declaration syntax from harness-tui-kit/src/components/system/slash_dropdown.rs Original source SHA-256: a3407a78bbc95ac6c83b03e1f749776d6600a51a846573497b46e79181242237 Function bodies and constant values are omitted. This is not the complete implementation. Source line 47 #[derive(Debug, Clone)] pub struct SlashDropdownItem { /// Command name (e.g., "mode"). pub name: String, /// Short description (e.g., "Switch mode (chat/auto)"). pub description: String, /// Usage template (e.g., "/mode "). pub usage: String, /// Category label (e.g., "built-in" or plugin name). pub category: String } Source line 62 #[derive(Debug, Clone, Default)] pub struct SlashDropdownState { } Source line 75 pub fn show(&mut self); Source line 80 pub fn hide(&mut self); Source line 86 #[must_use] pub fn is_visible(&self) -> bool; Source line 91 pub fn set_query(&mut self, text: &str, items: &[SlashDropdownItem]); Source line 122 pub fn select_next(&mut self); Source line 133 pub fn select_prev(&mut self); Source line 139 #[must_use] pub fn confirm(&self) -> Option; Source line 144 pub fn reset(&mut self); Source line 150 #[must_use] pub fn query(&self) -> &str; Source line 156 #[must_use] pub fn filtered_indices(&self) -> &[usize]; Source line 162 #[must_use] pub fn selected(&self) -> usize; Source line 174 #[derive(Debug, Clone)] pub struct SlashDropdown<'a> { } Source line 186 #[must_use] pub fn new(items: &'a [SlashDropdownItem]) -> Self; Source line 196 #[must_use] pub fn theme(mut self, theme: &'a Theme) -> Self; Source line 203 #[must_use] pub fn max_visible(mut self, n: usize) -> Self;