Skip to content

Commit

Permalink
hotfix: do not send bracketed paste to panes where it is not on
Browse files Browse the repository at this point in the history
  • Loading branch information
imsnif committed Mar 16, 2022
1 parent 12cb2cf commit 08d2014
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
4 changes: 4 additions & 0 deletions zellij-client/src/input_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ impl InputHandler {
let mut err_ctx = OPENCALLS.with(|ctx| *ctx.borrow());
err_ctx.add_call(ContextType::StdinHandler);
let alt_left_bracket = vec![27, 91];
let bracketed_paste_start = vec![27, 91, 50, 48, 48, 126]; // \u{1b}[200~
let bracketed_paste_end = vec![27, 91, 50, 48, 49, 126]; // \u{1b}[201~
if self.options.mouse_mode.unwrap_or(true) {
self.os_input.enable_mouse();
}
Expand Down Expand Up @@ -97,7 +99,9 @@ impl InputHandler {
}
Ok((InputInstruction::PastedText(raw_bytes), _error_context)) => {
if self.mode == InputMode::Normal || self.mode == InputMode::Locked {
self.dispatch_action(Action::Write(bracketed_paste_start.clone()));
self.dispatch_action(Action::Write(raw_bytes));
self.dispatch_action(Action::Write(bracketed_paste_end.clone()));
}
}
Ok((InputInstruction::SwitchToMode(input_mode), _error_context)) => {
Expand Down
4 changes: 1 addition & 3 deletions zellij-client/src/stdin_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,10 @@ pub(crate) fn stdin_loop(

if key_event == bracketed_paste_start {
pasting = true;
pasted_text.append(&mut raw_bytes);
continue;
} else if pasting && key_event == bracketed_paste_end {
pasting = false;
let mut pasted_text: Vec<u8> = pasted_text.drain(..).collect();
pasted_text.append(&mut raw_bytes);
let pasted_text: Vec<u8> = pasted_text.drain(..).collect();
send_input_instructions
.send(InputInstruction::PastedText(pasted_text))
.unwrap();
Expand Down

0 comments on commit 08d2014

Please sign in to comment.