pub struct CommandPicker { /* private fields */ }Expand description
Fuzzy-searchable picker for slash commands.
Opened by typing / in the prompt. Wraps the Combobox widget from the tui crate, populated with CommandEntry items that include both built-in commands (/clear, /settings, /resume) and agent-provided commands.
§Rendering
Each entry shows /<name> left-aligned with the description to the right. The selected row is highlighted. An optional [hint] suffix appears for commands that accept arguments.
§See also
CommandEntry— a single command with name, description, and metadataCombobox— the underlying fuzzy picker widgetFilePicker— the@-triggered file picker
Implementations§
Source§impl CommandPicker
impl CommandPicker
pub fn new(commands: Vec<CommandEntry>) -> Self
Trait Implementations§
Source§impl Component for CommandPicker
impl Component for CommandPicker
Source§type Message = PickerMessage<CommandEntry>
type Message = PickerMessage<CommandEntry>
The message type emitted by this widget.
Source§async fn on_event(&mut self, event: &Event) -> Option<Vec<Self::Message>>
async fn on_event(&mut self, event: &Event) -> Option<Vec<Self::Message>>
Process an event and return the outcome. Read more
Source§fn render(&mut self, context: &ViewContext) -> Frame
fn render(&mut self, context: &ViewContext) -> Frame
Render the current state to a frame.
Auto Trait Implementations§
impl Freeze for CommandPicker
impl !RefUnwindSafe for CommandPicker
impl Send for CommandPicker
impl Sync for CommandPicker
impl Unpin for CommandPicker
impl UnsafeUnpin for CommandPicker
impl !UnwindSafe for CommandPicker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more