diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/views/tui_textfield.rs | 8 |
1 files changed, 7 insertions, 1 deletions
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) + } } _ => {} } |