diff options
author | Hamza Hamud <53880692+hhamud@users.noreply.github.com> | 2023-03-20 18:08:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-20 18:08:29 +0000 |
commit | 26a1b93098407c51b57508da7ab8050c2a1ee516 (patch) | |
tree | 54eed57616d98bac92f5a38741e96dab99065fb0 | |
parent | dcd77749dd1fdf6b0c8183bfbdf4f97bf238ebe4 (diff) |
fix: paste into terminal after switching modes (#793)
* fix: paste into terminal after switching modes
* fix: remove collect and fix format
-rw-r--r-- | src/command/client/search/interactive.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/command/client/search/interactive.rs b/src/command/client/search/interactive.rs index c1d1c175..ed57a3f7 100644 --- a/src/command/client/search/interactive.rs +++ b/src/command/client/search/interactive.rs @@ -114,6 +114,7 @@ impl State { match input { Event::Key(k) => self.handle_key_input(settings, k, len), Event::Mouse(m) => self.handle_mouse_input(*m, len), + Event::Paste(d) => self.handle_paste_input(d), _ => None, } } @@ -133,6 +134,13 @@ impl State { None } + fn handle_paste_input(&mut self, input: &str) -> Option<usize> { + for i in input.chars() { + self.search.input.insert(i); + } + None + } + #[allow(clippy::too_many_lines)] fn handle_key_input( &mut self, @@ -451,7 +459,8 @@ impl Stdout { execute!( stdout, terminal::EnterAlternateScreen, - event::EnableMouseCapture + event::EnableMouseCapture, + event::EnableBracketedPaste )?; Ok(Self { stdout }) } @@ -462,7 +471,8 @@ impl Drop for Stdout { execute!( self.stdout, terminal::LeaveAlternateScreen, - event::DisableMouseCapture + event::DisableMouseCapture, + event::DisableBracketedPaste ) .unwrap(); terminal::disable_raw_mode().unwrap(); |