summaryrefslogtreecommitdiffstats
path: root/src/ui/views/tui_textfield.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/views/tui_textfield.rs')
-rw-r--r--src/ui/views/tui_textfield.rs8
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)
+ }
}
_ => {}
}