From fe3308c75da696b37c970c12ef9cefe942fa8377 Mon Sep 17 00:00:00 2001 From: sushi-shi <47691267+sushi-shi@users.noreply.github.com> Date: Wed, 23 Feb 2022 20:39:46 +0300 Subject: Add incremental search (#140) --- src/ui/views/tui_textfield.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ui') diff --git a/src/ui/views/tui_textfield.rs b/src/ui/views/tui_textfield.rs index 153a903..7c481e7 100644 --- a/src/ui/views/tui_textfield.rs +++ b/src/ui/views/tui_textfield.rs @@ -1,3 +1,5 @@ +use std::str::FromStr; + use rustyline::completion::{Candidate, Completer, FilenameCompleter, Pair}; use rustyline::line_buffer; @@ -8,7 +10,7 @@ use unicode_width::UnicodeWidthStr; use crate::context::AppContext; use crate::event::AppEvent; -use crate::key_command::complete_command; +use crate::key_command::{complete_command, Command, InteractiveExecute}; use crate::ui::views::TuiView; use crate::ui::widgets::{TuiMenu, TuiMultilineText}; use crate::ui::TuiBackend; @@ -270,6 +272,10 @@ impl<'a> TuiTextField<'a> { if line_buffer.insert(c, 1).is_some() { completion_tracker.take(); } + + if let Ok(command) = Command::from_str(line_buffer.as_str()) { + command.interactive_execute(context) + } } _ => {} } -- cgit v1.2.3