summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHamza Hamud <53880692+hhamud@users.noreply.github.com>2023-03-20 18:08:29 +0000
committerGitHub <noreply@github.com>2023-03-20 18:08:29 +0000
commit26a1b93098407c51b57508da7ab8050c2a1ee516 (patch)
tree54eed57616d98bac92f5a38741e96dab99065fb0
parentdcd77749dd1fdf6b0c8183bfbdf4f97bf238ebe4 (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.rs14
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();