fix(input) Write user input only in Normal mode
closes 184 Added the Action::NoOp from https://github.com/zellij-org/zellij/issues/184
This commit is contained in:
parent
dbbb0792c9
commit
f3f23972eb
3 changed files with 12 additions and 8 deletions
|
|
@ -39,6 +39,8 @@ pub enum Action {
|
||||||
CloseFocus,
|
CloseFocus,
|
||||||
/// Create a new tab.
|
/// Create a new tab.
|
||||||
NewTab,
|
NewTab,
|
||||||
|
/// Do nothing.
|
||||||
|
NoOp,
|
||||||
/// Go to the next tab.
|
/// Go to the next tab.
|
||||||
GoToNextTab,
|
GoToNextTab,
|
||||||
/// Go to the previous tab.
|
/// Go to the previous tab.
|
||||||
|
|
|
||||||
|
|
@ -227,6 +227,7 @@ impl InputHandler {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
self.command_is_executing.wait_until_pane_is_closed();
|
self.command_is_executing.wait_until_pane_is_closed();
|
||||||
}
|
}
|
||||||
|
Action::NoOp => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
should_break
|
should_break
|
||||||
|
|
|
||||||
|
|
@ -165,15 +165,16 @@ pub fn key_to_actions(
|
||||||
mode: &InputMode,
|
mode: &InputMode,
|
||||||
keybinds: &Keybinds,
|
keybinds: &Keybinds,
|
||||||
) -> Vec<Action> {
|
) -> Vec<Action> {
|
||||||
if let Some(mode_keybinds) = keybinds.get(mode) {
|
let mode_keybind_or_action = |action: Action| {
|
||||||
mode_keybinds
|
keybinds
|
||||||
|
.get(mode)
|
||||||
|
.unwrap_or_else(|| unreachable!("Unrecognized mode: {:?}", mode))
|
||||||
.get(key)
|
.get(key)
|
||||||
.cloned()
|
.cloned()
|
||||||
// FIXME in command mode, unbound keystrokes should probably do nothing instead of
|
.unwrap_or_else(|| vec![action])
|
||||||
// writing to the terminal. Will be easier to implement after a big refactor of the
|
};
|
||||||
// input system (@categorille)
|
match *mode {
|
||||||
.unwrap_or_else(|| vec![Action::Write(input)])
|
InputMode::Normal => mode_keybind_or_action(Action::Write(input)),
|
||||||
} else {
|
_ => mode_keybind_or_action(Action::NoOp),
|
||||||
unreachable!("Unrecognized mode: {:?}", mode);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue