aboutsummaryrefslogtreecommitdiffstats
path: root/default-plugins
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-09-24 12:56:56 +0200
committerGitHub <noreply@github.com>2025-09-24 12:56:56 +0200
commit533140831d825829afaf864d940c435056788d3e (patch)
tree9fe6b7da3955663c8373776499f85addfd044d40 /default-plugins
parentrefactor(client-server-contract): config + layout (#4383) (diff)
downloadsl0ppij-533140831d825829afaf864d940c435056788d3e.tar.gz
sl0ppij-533140831d825829afaf864d940c435056788d3e.tar.xz
sl0ppij-533140831d825829afaf864d940c435056788d3e.zip
fix(ipc): make sessions compatible between versions (#4439)
* translate ipc tuple enum variants to struct enum variants * initial client/server contract * tests and missing types * migrate web server and remove rmp_serde * change socket folder * fix crash on unknown messages * fix client logout on unknown message * fix web client logout on unknown message * rustfmt * add comment and change log level * address compilation warnings * style(fmt): rustfmt * fix plugin system test assertions * add pr
Diffstat (limited to 'default-plugins')
-rw-r--r--default-plugins/compact-bar/src/action_types.rs37
-rw-r--r--default-plugins/compact-bar/src/keybind_utils.rs321
-rw-r--r--default-plugins/configuration/src/rebind_leaders_screen.rs136
-rw-r--r--default-plugins/fixture-plugin-for-tests/src/main.rs32
-rw-r--r--default-plugins/status-bar/src/first_line.rs77
-rw-r--r--default-plugins/status-bar/src/main.rs20
-rw-r--r--default-plugins/status-bar/src/one_line_ui.rs265
-rw-r--r--default-plugins/status-bar/src/second_line.rs158
-rw-r--r--default-plugins/status-bar/src/tip/data/compact_layout.rs8
-rw-r--r--default-plugins/status-bar/src/tip/data/edit_scrollbuffer.rs8
-rw-r--r--default-plugins/status-bar/src/tip/data/floating_panes_mouse.rs8
-rw-r--r--default-plugins/status-bar/src/tip/data/move_focus_hjkl_tab_switch.rs8
-rw-r--r--default-plugins/status-bar/src/tip/data/quicknav.rs43
-rw-r--r--default-plugins/status-bar/src/tip/data/sync_tab.rs8
14 files changed, 850 insertions, 279 deletions
diff --git a/default-plugins/compact-bar/src/action_types.rs b/default-plugins/compact-bar/src/action_types.rs
index ddc91ead..8a4de277 100644
--- a/default-plugins/compact-bar/src/action_types.rs
+++ b/default-plugins/compact-bar/src/action_types.rs
@@ -94,22 +94,35 @@ impl ActionType {
pub fn from_action(action: &Action) -> Self {
match action {
- Action::MoveFocus(_) => ActionType::MoveFocus,
- Action::MovePane(Some(_)) => ActionType::MovePaneWithDirection,
- Action::MovePane(None) => ActionType::MovePaneWithoutDirection,
- Action::Resize(Resize::Increase, Some(_)) => ActionType::ResizeIncrease,
- Action::Resize(Resize::Decrease, Some(_)) => ActionType::ResizeDecrease,
- Action::Resize(_, None) => ActionType::ResizeAny,
- Action::Search(_) => ActionType::Search,
- Action::NewPane(Some(_), _, _) => ActionType::NewPaneWithDirection,
- Action::NewPane(None, _, _) => ActionType::NewPaneWithoutDirection,
- Action::NewStackedPane(_, _) => ActionType::NewStackedPane,
+ Action::MoveFocus { .. } => ActionType::MoveFocus,
+ Action::MovePane { direction: Some(_) } => ActionType::MovePaneWithDirection,
+ Action::MovePane { direction: None } => ActionType::MovePaneWithoutDirection,
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: Some(_),
+ } => ActionType::ResizeIncrease,
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: Some(_),
+ } => ActionType::ResizeDecrease,
+ Action::Resize {
+ resize: _,
+ direction: None,
+ } => ActionType::ResizeAny,
+ Action::Search { .. } => ActionType::Search,
+ Action::NewPane {
+ direction: Some(_), ..
+ } => ActionType::NewPaneWithDirection,
+ Action::NewPane {
+ direction: None, ..
+ } => ActionType::NewPaneWithoutDirection,
+ Action::NewStackedPane { .. } => ActionType::NewStackedPane,
Action::BreakPaneLeft | Action::BreakPaneRight => ActionType::BreakPaneLeftOrRight,
Action::GoToPreviousTab | Action::GoToNextTab => ActionType::GoToAdjacentTab,
Action::ScrollUp | Action::ScrollDown => ActionType::Scroll,
Action::PageScrollUp | Action::PageScrollDown => ActionType::PageScroll,
Action::HalfPageScrollUp | Action::HalfPageScrollDown => ActionType::HalfPageScroll,
- Action::SwitchToMode(input_mode) => ActionType::SwitchToMode(*input_mode),
+ Action::SwitchToMode { input_mode } => ActionType::SwitchToMode(*input_mode),
Action::TogglePaneEmbedOrFloating => ActionType::TogglePaneEmbedOrFloating,
Action::ToggleFocusFullscreen => ActionType::ToggleFocusFullscreen,
Action::ToggleFloatingPanes => ActionType::ToggleFloatingPanes,
@@ -125,7 +138,7 @@ impl ActionType {
action if action.launches_plugin("configuration") => ActionType::Configuration,
action if action.launches_plugin("plugin-manager") => ActionType::PluginManager,
action if action.launches_plugin("zellij:about") => ActionType::About,
- action if matches!(action, Action::NewTab(..)) => ActionType::NewTab,
+ action if matches!(action, Action::NewTab { .. }) => ActionType::NewTab,
_ => ActionType::Other(format!("{:?}", action)),
}
}
diff --git a/default-plugins/compact-bar/src/keybind_utils.rs b/default-plugins/compact-bar/src/keybind_utils.rs
index 68014169..aeb862d1 100644
--- a/default-plugins/compact-bar/src/keybind_utils.rs
+++ b/default-plugins/compact-bar/src/keybind_utils.rs
@@ -50,8 +50,12 @@ impl KeybindProcessor {
let should_add_brackets_to_keys = mode != InputMode::Normal;
// Check if this is switching to normal mode
- let is_switching_to_locked =
- matches!(first_action, Action::SwitchToMode(InputMode::Locked));
+ let is_switching_to_locked = matches!(
+ first_action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Locked
+ }
+ );
let grouped_keys = Self::group_key_sets(
&matching_keys,
@@ -304,41 +308,161 @@ impl KeybindProcessor {
match mode {
InputMode::Locked => {
let ordered_predicates = vec![|action: &Action| {
- matches!(action, Action::SwitchToMode(InputMode::Normal))
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal
+ }
+ )
}];
Self::find_predetermined_actions(mode_info, mode, ordered_predicates)
},
InputMode::Normal => {
let ordered_predicates = vec![
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Locked)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Pane)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Tab)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Resize)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Move)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Scroll)),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::Session)),
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Locked
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Pane
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Tab
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Resize
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Move
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Scroll
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::Session
+ }
+ )
+ },
|action: &Action| matches!(action, Action::Quit),
];
Self::find_predetermined_actions(mode_info, mode, ordered_predicates)
},
InputMode::Pane => {
let ordered_predicates = vec![
- |action: &Action| matches!(action, Action::NewPane(None, None, false)),
- |action: &Action| matches!(action, Action::MoveFocus(Direction::Left)),
- |action: &Action| matches!(action, Action::MoveFocus(Direction::Down)),
- |action: &Action| matches!(action, Action::MoveFocus(Direction::Up)),
- |action: &Action| matches!(action, Action::MoveFocus(Direction::Right)),
+ |action: &Action| {
+ matches!(
+ action,
+ Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MoveFocus {
+ direction: Direction::Left
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MoveFocus {
+ direction: Direction::Down
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MoveFocus {
+ direction: Direction::Up
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MoveFocus {
+ direction: Direction::Right
+ }
+ )
+ },
|action: &Action| matches!(action, Action::CloseFocus),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::RenamePane)),
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::RenamePane
+ }
+ )
+ },
|action: &Action| matches!(action, Action::ToggleFocusFullscreen),
|action: &Action| matches!(action, Action::ToggleFloatingPanes),
|action: &Action| matches!(action, Action::TogglePaneEmbedOrFloating),
- |action: &Action| matches!(action, Action::NewStackedPane(None, None)),
|action: &Action| {
- matches!(action, Action::NewPane(Some(Direction::Right), None, false))
+ matches!(
+ action,
+ Action::NewStackedPane {
+ command: None,
+ pane_name: None
+ }
+ )
},
|action: &Action| {
- matches!(action, Action::NewPane(Some(Direction::Down), None, false))
+ matches!(
+ action,
+ Action::NewPane {
+ direction: Some(Direction::Right),
+ pane_name: None,
+ start_suppressed: false
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::NewPane {
+ direction: Some(Direction::Down),
+ pane_name: None,
+ start_suppressed: false
+ }
+ )
},
];
Self::find_predetermined_actions(mode_info, mode, ordered_predicates)
@@ -350,12 +474,27 @@ impl KeybindProcessor {
|action: &Action| {
matches!(
action,
- Action::NewTab(None, _, None, None, None, true, None)
+ Action::NewTab {
+ tiled_layout: None,
+ floating_layouts: _,
+ swap_tiled_layouts: None,
+ swap_floating_layouts: None,
+ tab_name: None,
+ should_change_focus_to_new_tab: true,
+ cwd: None
+ }
)
},
|action: &Action| matches!(action, Action::CloseTab),
- |action: &Action| matches!(action, Action::SwitchToMode(InputMode::RenameTab)),
- |action: &Action| matches!(action, Action::TabNameInput(_)),
+ |action: &Action| {
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::RenameTab
+ }
+ )
+ },
+ |action: &Action| matches!(action, Action::TabNameInput { .. }),
|action: &Action| matches!(action, Action::ToggleActiveSyncTab),
|action: &Action| matches!(action, Action::BreakPane),
|action: &Action| matches!(action, Action::BreakPaneLeft),
@@ -366,54 +505,94 @@ impl KeybindProcessor {
},
InputMode::Resize => {
let ordered_predicates = vec![
- |action: &Action| matches!(action, Action::Resize(Resize::Increase, None)),
- |action: &Action| matches!(action, Action::Resize(Resize::Decrease, None)),
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Increase, Some(Direction::Left))
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: None
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Increase, Some(Direction::Down))
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: None
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Increase, Some(Direction::Up))
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: Some(Direction::Left)
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: Some(Direction::Down)
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: Some(Direction::Up)
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Increase, Some(Direction::Right))
+ Action::Resize {
+ resize: Resize::Increase,
+ direction: Some(Direction::Right)
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Decrease, Some(Direction::Left))
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: Some(Direction::Left)
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Decrease, Some(Direction::Down))
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: Some(Direction::Down)
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Decrease, Some(Direction::Up))
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: Some(Direction::Up)
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::Resize(Resize::Decrease, Some(Direction::Right))
+ Action::Resize {
+ resize: Resize::Decrease,
+ direction: Some(Direction::Right)
+ }
)
},
];
@@ -421,10 +600,38 @@ impl KeybindProcessor {
},
InputMode::Move => {
let ordered_predicates = vec![
- |action: &Action| matches!(action, Action::MovePane(Some(Direction::Left))),
- |action: &Action| matches!(action, Action::MovePane(Some(Direction::Down))),
- |action: &Action| matches!(action, Action::MovePane(Some(Direction::Up))),
- |action: &Action| matches!(action, Action::MovePane(Some(Direction::Right))),
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MovePane {
+ direction: Some(Direction::Left)
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MovePane {
+ direction: Some(Direction::Down)
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MovePane {
+ direction: Some(Direction::Up)
+ }
+ )
+ },
+ |action: &Action| {
+ matches!(
+ action,
+ Action::MovePane {
+ direction: Some(Direction::Right)
+ }
+ )
+ },
];
Self::find_predetermined_actions(mode_info, mode, ordered_predicates)
},
@@ -437,7 +644,12 @@ impl KeybindProcessor {
|action: &Action| matches!(action, Action::PageScrollDown),
|action: &Action| matches!(action, Action::PageScrollUp),
|action: &Action| {
- matches!(action, Action::SwitchToMode(InputMode::EnterSearch))
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::EnterSearch
+ }
+ )
},
|action: &Action| matches!(action, Action::EditScrollback),
];
@@ -446,9 +658,14 @@ impl KeybindProcessor {
InputMode::Search => {
let ordered_predicates = vec![
|action: &Action| {
- matches!(action, Action::SwitchToMode(InputMode::EnterSearch))
+ matches!(
+ action,
+ Action::SwitchToMode {
+ input_mode: InputMode::EnterSearch
+ }
+ )
},
- |action: &Action| matches!(action, Action::SearchInput(_)),
+ |action: &Action| matches!(action, Action::SearchInput { .. }),
|action: &Action| matches!(action, Action::ScrollDown),
|action: &Action| matches!(action, Action::ScrollUp),
|action: &Action| matches!(action, Action::PageScrollDown),
@@ -456,27 +673,43 @@ impl KeybindProcessor {
|action: &Action| matches!(action, Action::HalfPageScrollDown),
|action: &Action| matches!(action, Action::HalfPageScrollUp),
|action: &Action| {
- matches!(action, Action::Search(actions::SearchDirection::Down))
+ matches!(
+ action,
+ Action::Search {
+ direction: actions::SearchDirection::Down
+ }
+ )
},
|action: &Action| {
- matches!(action, Action::Search(actions::SearchDirection::Up))
+ matches!(
+ action,
+ Action::Search {
+ direction: actions::SearchDirection::Up
+ }
+ )
},
|action: &Action| {
matches!(
action,
- Action::SearchToggleOption(actions::SearchOption::CaseSensitivity)
+ Action::SearchToggleOption {
+ option: actions::SearchOption::CaseSensitivity
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::SearchToggleOption(actions::SearchOption::Wrap)
+ Action::SearchToggleOption {
+ option: actions::SearchOption::Wrap
+ }
)
},
|action: &Action| {
matches!(
action,
- Action::SearchToggleOption(actions::SearchOption::WholeWord)
+ Action::SearchToggleOption {
+ option: actions::SearchOption::WholeWord
+ }
)
},
];
diff --git a/default-plugins/configuration/src/rebind_leaders_screen.rs b/default-plugins/configuration/src/rebind_leaders_screen.rs
index 4e177228..3014eb93 100644
--- a/default-plugins/configuration/src/rebind_leaders_screen.rs
+++ b/default-plugins/configuration/src/rebind_leaders_screen.rs
@@ -87,7 +87,9 @@ impl RebindLeadersScreen {
})
.and_then(|k| {
k.into_iter().find_map(|(k, a)| {
- if a == &[actions::Action::SwitchToMode(InputMode::Normal)] {
+ if a == &[actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }] {
Some(k)
} else {
None
@@ -110,7 +112,9 @@ impl RebindLeadersScreen {
})
.and_then(|k| {
k.into_iter().find_map(|(k, a)| {
- if a == &[actions::Action::SwitchToMode(InputMode::Normal)] {
+ if a == &[actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }] {
Some(k.key_modifiers.clone())
} else {
None
@@ -132,7 +136,11 @@ impl RebindLeadersScreen {
})
.and_then(|k| {
k.into_iter().find_map(|(k, a)| {
- if a == &[actions::Action::NewPane(None, None, false)] {
+ if a == &[actions::Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ }] {
Some(k.key_modifiers.clone())
} else {
None
@@ -895,7 +903,9 @@ impl RebindLeadersScreen {
if mode == &target_mode {
for current_keybind in self.get_current_keybinds(
*mode,
- &[actions::Action::SwitchToMode(InputMode::Normal)],
+ &[actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
) {
if current_keybind.bare_key != BareKey::Enter
&& current_keybind.bare_key != BareKey::Esc
@@ -904,9 +914,12 @@ impl RebindLeadersScreen {
}
}
} else {
- for current_keybind in
- self.get_current_keybinds(*mode, &[actions::Action::SwitchToMode(target_mode)])
- {
+ for current_keybind in self.get_current_keybinds(
+ *mode,
+ &[actions::Action::SwitchToMode {
+ input_mode: target_mode,
+ }],
+ ) {
keys_to_unbind.push((*mode, current_keybind));
}
}
@@ -916,13 +929,17 @@ impl RebindLeadersScreen {
keys_to_bind.push((
*mode,
new_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Normal)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
));
} else if mode != &InputMode::Locked {
keys_to_bind.push((
*mode,
new_key.clone(),
- vec![actions::Action::SwitchToMode(target_mode)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: target_mode,
+ }],
));
}
}
@@ -935,7 +952,11 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::NewPane(None, None, false)],
+ &[actions::Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('n'),
self.secondary_modifier.clone(),
@@ -953,7 +974,9 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveTab(Direction::Left)],
+ &[actions::Action::MoveTab {
+ direction: Direction::Left,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('i'),
self.secondary_modifier.clone(),
@@ -962,7 +985,9 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveTab(Direction::Right)],
+ &[actions::Action::MoveTab {
+ direction: Direction::Right,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('o'),
self.secondary_modifier.clone(),
@@ -971,7 +996,9 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocusOrTab(Direction::Left)],
+ &[actions::Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('h'),
self.secondary_modifier.clone(),
@@ -980,13 +1007,17 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocusOrTab(Direction::Left)],
+ &[actions::Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
KeyWithModifier::new_with_modifiers(BareKey::Left, self.secondary_modifier.clone()),
);
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocusOrTab(Direction::Right)],
+ &[actions::Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('l'),
self.secondary_modifier.clone(),
@@ -995,13 +1026,17 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocusOrTab(Direction::Right)],
+ &[actions::Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
KeyWithModifier::new_with_modifiers(BareKey::Right, self.secondary_modifier.clone()),
);
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocus(Direction::Down)],
+ &[actions::Action::MoveFocus {
+ direction: Direction::Down,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('j'),
self.secondary_modifier.clone(),
@@ -1010,13 +1045,17 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocus(Direction::Down)],
+ &[actions::Action::MoveFocus {
+ direction: Direction::Down,
+ }],
KeyWithModifier::new_with_modifiers(BareKey::Down, self.secondary_modifier.clone()),
);
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocus(Direction::Up)],
+ &[actions::Action::MoveFocus {
+ direction: Direction::Up,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('k'),
self.secondary_modifier.clone(),
@@ -1025,13 +1064,18 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::MoveFocus(Direction::Up)],
+ &[actions::Action::MoveFocus {
+ direction: Direction::Up,
+ }],
KeyWithModifier::new_with_modifiers(BareKey::Up, self.secondary_modifier.clone()),
);
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::Resize(Resize::Increase, None)],
+ &[actions::Action::Resize {
+ resize: Resize::Increase,
+ direction: None,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('+'),
self.secondary_modifier.clone(),
@@ -1040,7 +1084,10 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::Resize(Resize::Increase, None)],
+ &[actions::Action::Resize {
+ resize: Resize::Increase,
+ direction: None,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('='),
self.secondary_modifier.clone(),
@@ -1049,7 +1096,10 @@ impl RebindLeadersScreen {
self.bind_actions(
keys_to_unbind,
keys_to_bind,
- &[actions::Action::Resize(Resize::Decrease, None)],
+ &[actions::Action::Resize {
+ resize: Resize::Decrease,
+ direction: None,
+ }],
KeyWithModifier::new_with_modifiers(
BareKey::Char('-'),
self.secondary_modifier.clone(),
@@ -1098,7 +1148,9 @@ impl RebindLeadersScreen {
) {
if let Some(previous_unlock_key) = self.get_current_keybind(
InputMode::Locked,
- &[actions::Action::SwitchToMode(InputMode::Normal)],
+ &[actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
) {
keys_to_unbind.push((InputMode::Locked, previous_unlock_key.clone()));
keys_to_unbind.push((InputMode::Normal, previous_unlock_key.clone()));
@@ -1113,47 +1165,65 @@ impl RebindLeadersScreen {
keys_to_bind.push((
InputMode::Locked,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Normal)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
));
keys_to_bind.push((
InputMode::Normal,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Pane,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Tab,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Resize,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Move,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Search,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Scroll,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
keys_to_bind.push((
InputMode::Session,
unlock_key.clone(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
));
}
fn get_current_keybind(
diff --git a/default-plugins/fixture-plugin-for-tests/src/main.rs b/default-plugins/fixture-plugin-for-tests/src/main.rs
index 8ca23557..01489860 100644
--- a/default-plugins/fixture-plugin-for-tests/src/main.rs
+++ b/default-plugins/fixture-plugin-for-tests/src/main.rs
@@ -490,42 +490,58 @@ impl ZellijPlugin for State {
(
InputMode::Locked,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Normal)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
),
(
InputMode::Normal,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Pane,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Tab,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Resize,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Move,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Search,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
(
InputMode::Session,
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![actions::Action::SwitchToMode(InputMode::Locked)],
+ vec![actions::Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
),
];
rebind_keys(keys_to_unbind, keys_to_rebind, write_to_disk);
diff --git a/default-plugins/status-bar/src/first_line.rs b/default-plugins/status-bar/src/first_line.rs
index a67ef10b..b5c688ad 100644
--- a/default-plugins/status-bar/src/first_line.rs
+++ b/default-plugins/status-bar/src/first_line.rs
@@ -480,7 +480,7 @@ pub fn mode_switch_keys(mode_info: &ModeInfo) -> Vec<KeyWithModifier> {
) {
return None;
}
- if let actions::Action::SwitchToMode(mode) = vac {
+ if let actions::Action::SwitchToMode { input_mode: mode } = vac {
return match mode {
// Store the keys that switch to displayed modes
InputMode::Normal
@@ -622,38 +622,59 @@ pub fn first_line(
KeyAction::Lock,
to_char(action_key(
binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
KeyMode::UnselectedAlternate,
KeyAction::Pane,
- to_char(action_key(binds, &[Action::SwitchToMode(InputMode::Pane)])),
+ to_char(action_key(
+ binds,
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
+ )),
),
KeyShortcut::new(
KeyMode::Unselected,
KeyAction::Tab,
- to_char(action_key(binds, &[Action::SwitchToMode(InputMode::Tab)])),
+ to_char(action_key(
+ binds,
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
+ )),
),
KeyShortcut::new(
KeyMode::UnselectedAlternate,
KeyAction::Resize,
to_char(action_key(
binds,
- &[Action::SwitchToMode(InputMode::Resize)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Resize,
+ }],
)),
),
KeyShortcut::new(
KeyMode::Unselected,
KeyAction::Move,
- to_char(action_key(binds, &[Action::SwitchToMode(InputMode::Move)])),
+ to_char(action_key(
+ binds,
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Move,
+ }],
+ )),
),
KeyShortcut::new(
KeyMode::UnselectedAlternate,
KeyAction::Search,
to_char(action_key(
binds,
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
)),
),
KeyShortcut::new(
@@ -661,7 +682,9 @@ pub fn first_line(
KeyAction::Session,
to_char(action_key(
binds,
- &[Action::SwitchToMode(InputMode::Session)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Session,
+ }],
)),
),
KeyShortcut::new(
@@ -1055,9 +1078,9 @@ mod tests {
mode: InputMode::Normal,
keybinds : vec![
(InputMode::Normal, vec![
- (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Pane)]),
- (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Resize)]),
- (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Move)]),
+ (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Pane}]),
+ (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Resize}]),
+ (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Move}]),
]),
],
..ModeInfo::default()
@@ -1079,9 +1102,9 @@ mod tests {
mode: InputMode::Normal,
keybinds : vec![
(InputMode::Normal, vec![
- (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Pane)]),
- (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Resize)]),
- (KeyWithModifier::new(BareKey::Char('c')), vec![Action::SwitchToMode(InputMode::Move)]),
+ (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Pane}]),
+ (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Resize}]),
+ (KeyWithModifier::new(BareKey::Char('c')), vec![Action::SwitchToMode{input_mode: InputMode::Move}]),
]),
],
..ModeInfo::default()
@@ -1103,11 +1126,11 @@ mod tests {
mode: InputMode::Normal,
keybinds : vec![
(InputMode::Normal, vec![
- (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Locked)]),
- (KeyWithModifier::new(BareKey::Backspace), vec![Action::SwitchToMode(InputMode::Pane)]),
- (KeyWithModifier::new(BareKey::Enter), vec![Action::SwitchToMode(InputMode::Tab)]),
- (KeyWithModifier::new(BareKey::Tab), vec![Action::SwitchToMode(InputMode::Resize)]),
- (KeyWithModifier::new(BareKey::Left), vec![Action::SwitchToMode(InputMode::Move)]),
+ (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Locked}]),
+ (KeyWithModifier::new(BareKey::Backspace), vec![Action::SwitchToMode{input_mode: InputMode::Pane}]),
+ (KeyWithModifier::new(BareKey::Enter), vec![Action::SwitchToMode{input_mode: InputMode::Tab}]),
+ (KeyWithModifier::new(BareKey::Tab), vec![Action::SwitchToMode{input_mode: InputMode::Resize}]),
+ (KeyWithModifier::new(BareKey::Left), vec![Action::SwitchToMode{input_mode: InputMode::Move}]),
]),
],
..ModeInfo::default()
@@ -1130,11 +1153,11 @@ mod tests {
mode: InputMode::Normal,
keybinds : vec![
(InputMode::Normal, vec![
- (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Locked)]),
- (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Pane)]),
- (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Tab)]),
- (KeyWithModifier::new(BareKey::Char('d')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Resize)]),
- (KeyWithModifier::new(BareKey::Char('e')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Move)]),
+ (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Locked}]),
+ (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Pane}]),
+ (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Tab}]),
+ (KeyWithModifier::new(BareKey::Char('d')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Resize}]),
+ (KeyWithModifier::new(BareKey::Char('e')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Move}]),
]),
],
..ModeInfo::default()
@@ -1153,9 +1176,9 @@ mod tests {
mode: InputMode::Normal,
keybinds : vec![
(InputMode::Normal, vec![
- (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Pane)]),
- (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Resize)]),
- (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode(InputMode::Move)]),
+ (KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Pane}]),
+ (KeyWithModifier::new(BareKey::Char('b')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Resize}]),
+ (KeyWithModifier::new(BareKey::Char('c')).with_ctrl_modifier(), vec![Action::SwitchToMode{input_mode: InputMode::Move}]),
]),
],
..ModeInfo::default()
diff --git a/default-plugins/status-bar/src/main.rs b/default-plugins/status-bar/src/main.rs
index 0c1b9c88..aa86d4d1 100644
--- a/default-plugins/status-bar/src/main.rs
+++ b/default-plugins/status-bar/src/main.rs
@@ -27,8 +27,10 @@ use tip::utils::get_cached_tip_name;
// for more of these, copy paste from: https://en.wikipedia.org/wiki/Box-drawing_character
static ARROW_SEPARATOR: &str = "î‚°";
static MORE_MSG: &str = " ... ";
-/// Shorthand for `Action::SwitchToMode(InputMode::Normal)`.
-const TO_NORMAL: Action = Action::SwitchToMode(InputMode::Normal);
+/// Shorthand for `Action::SwitchToMode{input_mode: InputMode::Normal}`.
+const TO_NORMAL: Action = Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+};
#[derive(Default)]
struct State {
@@ -588,11 +590,21 @@ pub mod tests {
),
(
KeyWithModifier::new(BareKey::Char('c')).with_alt_modifier(),
- vec![Action::ScrollDown, Action::SwitchToMode(InputMode::Normal)],
+ vec![
+ Action::ScrollDown,
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ },
+ ],
),
(
KeyWithModifier::new(BareKey::Char('1')),
- vec![TO_NORMAL, Action::SwitchToMode(InputMode::Locked)],
+ vec![
+ TO_NORMAL,
+ Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ },
+ ],
),
]
}
diff --git a/default-plugins/status-bar/src/one_line_ui.rs b/default-plugins/status-bar/src/one_line_ui.rs
index 564bdc83..a3fdec77 100644
--- a/default-plugins/status-bar/src/one_line_ui.rs
+++ b/default-plugins/status-bar/src/one_line_ui.rs
@@ -49,7 +49,9 @@ pub fn one_line_ui(
}
fn to_base_mode(base_mode: InputMode) -> Action {
- Action::SwitchToMode(base_mode)
+ Action::SwitchToMode {
+ input_mode: base_mode,
+ }
}
fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<KeyShortcut>> {
@@ -69,7 +71,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
locked_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -81,7 +85,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -89,7 +95,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
)),
),
KeyShortcut::new(
@@ -97,7 +105,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Tab)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
)),
),
KeyShortcut::new(
@@ -105,7 +115,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Resize)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Resize,
+ }],
)),
),
KeyShortcut::new(
@@ -113,7 +125,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Move)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Move,
+ }],
)),
),
KeyShortcut::new(
@@ -121,7 +135,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
)),
),
KeyShortcut::new(
@@ -129,7 +145,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Session)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Session,
+ }],
)),
),
KeyShortcut::new(
@@ -147,7 +165,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -155,7 +175,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -168,7 +190,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -176,7 +200,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -189,7 +215,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -197,7 +225,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -210,7 +240,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -218,7 +250,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -231,7 +265,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -239,7 +275,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -252,7 +290,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -260,7 +300,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -285,7 +327,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Lock,
to_char(action_key(
locked_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -297,7 +341,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Lock,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -305,7 +351,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
)),
),
KeyShortcut::new(
@@ -313,7 +361,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Tab)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
)),
),
KeyShortcut::new(
@@ -321,7 +371,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Resize)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Resize,
+ }],
)),
),
KeyShortcut::new(
@@ -329,7 +381,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Move)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Move,
+ }],
)),
),
KeyShortcut::new(
@@ -337,7 +391,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
)),
),
KeyShortcut::new(
@@ -345,7 +401,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Session)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Session,
+ }],
)),
),
KeyShortcut::new(
@@ -362,7 +420,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -373,7 +433,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -384,7 +446,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -395,7 +459,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -406,7 +472,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -417,7 +485,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -699,7 +769,14 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
let binds = &help.get_mode_keybinds();
let should_show_focus_and_resize_shortcuts = should_show_focus_and_resize_shortcuts(tab_info);
// New Pane
- let new_pane_action_key = action_key(binds, &[Action::NewPane(None, None, false)]);
+ let new_pane_action_key = action_key(
+ binds,
+ &[Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ }],
+ );
let mut new_pane_key_to_display = new_pane_action_key
.iter()
.find(|k| k.is_key_with_alt_modifier(BareKey::Char('n')))
@@ -712,12 +789,24 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
};
// Resize
- let resize_increase_action_key = action_key(binds, &[Action::Resize(Resize::Increase, None)]);
+ let resize_increase_action_key = action_key(
+ binds,
+ &[Action::Resize {
+ resize: Resize::Increase,
+ direction: None,
+ }],
+ );
let resize_increase_key = resize_increase_action_key
.iter()
.find(|k| k.bare_key == BareKey::Char('+'))
.or_else(|| resize_increase_action_key.iter().next());
- let resize_decrease_action_key = action_key(binds, &[Action::Resize(Resize::Decrease, None)]);
+ let resize_decrease_action_key = action_key(
+ binds,
+ &[Action::Resize {
+ resize: Resize::Decrease,
+ direction: None,
+ }],
+ );
let resize_decrease_key = resize_decrease_action_key
.iter()
.find(|k| k.bare_key == BareKey::Char('-'))
@@ -734,7 +823,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
let mut move_focus_shortcuts: Vec<KeyWithModifier> = vec![];
// Left
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocusOrTab(Direction::Left)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Left)
@@ -743,7 +837,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Down
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocus(Direction::Down)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocus {
+ direction: Direction::Down,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Down)
@@ -752,7 +851,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Up
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocus(Direction::Up)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocus {
+ direction: Direction::Up,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Up)
@@ -761,7 +865,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Right
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocusOrTab(Direction::Right)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Right)
@@ -1264,20 +1373,20 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
}
if mi.mode == IM::Pane { vec![
- (s("New"), s("New"), single_action_key(&km, &[A::NewPane(None, None, false), TO_NORMAL])),
+ (s("New"), s("New"), single_action_key(&km, &[A::NewPane{direction: None, pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Change Focus"), s("Move"),
- action_key_group(&km, &[&[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
+ action_key_group(&km, &[&[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
(s("Close"), s("Close"), single_action_key(&km, &[A::CloseFocus, TO_NORMAL])),
(s("Rename"), s("Rename"),
- single_action_key(&km, &[A::SwitchToMode(IM::RenamePane), A::PaneNameInput(vec![0])])),
+ single_action_key(&km, &[A::SwitchToMode{input_mode: IM::RenamePane}, A::PaneNameInput{input: vec![0]}])),
(s("Toggle Fullscreen"), s("Fullscreen"), single_action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
(s("Toggle Floating"), s("Floating"),
single_action_key(&km, &[A::ToggleFloatingPanes, TO_NORMAL])),
(s("Toggle Embed"), s("Embed"), single_action_key(&km, &[A::TogglePaneEmbedOrFloating, TO_NORMAL])),
- (s("Split Right"), s("Right"), single_action_key(&km, &[A::NewPane(Some(Direction::Right), None, false), TO_NORMAL])),
- (s("Split Down"), s("Down"), single_action_key(&km, &[A::NewPane(Some(Direction::Down), None, false), TO_NORMAL])),
- (s("Stack"), s("Stack"), single_action_key(&km, &[A::NewStackedPane(None, None), TO_NORMAL])),
+ (s("Split Right"), s("Right"), single_action_key(&km, &[A::NewPane{direction: Some(Direction::Right), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Split Down"), s("Down"), single_action_key(&km, &[A::NewPane{direction: Some(Direction::Down), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Stack"), s("Stack"), single_action_key(&km, &[A::NewStackedPane{command: None, pane_name: None}, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Tab {
// With the default bindings, "Move focus" for tabs is tricky: It binds all the arrow keys
@@ -1297,11 +1406,11 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
};
vec![
- (s("New"), s("New"), single_action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New"), s("New"), single_action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Change focus"), s("Move"), focus_keys),
(s("Close"), s("Close"), single_action_key(&km, &[A::CloseTab, TO_NORMAL])),
(s("Rename"), s("Rename"),
- single_action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ single_action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Sync"), s("Sync"), single_action_key(&km, &[A::ToggleActiveSyncTab, TO_NORMAL])),
(s("Break pane to new tab"), s("Break out"), single_action_key(&km, &[A::BreakPane, TO_NORMAL])),
(s("Break pane left/right"), s("Break"), action_key_group(&km, &[
@@ -1313,30 +1422,30 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
]} else if mi.mode == IM::Resize { vec![
(s("Increase/Decrease size"), s("Increase/Decrease"),
action_key_group(&km, &[
- &[A::Resize(Resize::Increase, None)],
- &[A::Resize(Resize::Decrease, None)]
+ &[A::Resize{resize: Resize::Increase, direction: None}],
+ &[A::Resize{resize: Resize::Decrease, direction: None}]
])),
(s("Increase to"), s("Increase"), action_key_group(&km, &[
- &[A::Resize(Resize::Increase, Some(Dir::Left))],
- &[A::Resize(Resize::Increase, Some(Dir::Down))],
- &[A::Resize(Resize::Increase, Some(Dir::Up))],
- &[A::Resize(Resize::Increase, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Right)}]
])),
(s("Decrease from"), s("Decrease"), action_key_group(&km, &[
- &[A::Resize(Resize::Decrease, Some(Dir::Left))],
- &[A::Resize(Resize::Decrease, Some(Dir::Down))],
- &[A::Resize(Resize::Decrease, Some(Dir::Up))],
- &[A::Resize(Resize::Decrease, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Right)}]
])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Move { vec![
(s("Switch Location"), s("Move"), action_key_group(&km, &[
- &[Action::MovePane(Some(Dir::Left))], &[Action::MovePane(Some(Dir::Down))],
- &[Action::MovePane(Some(Dir::Up))], &[Action::MovePane(Some(Dir::Right))]])),
+ &[Action::MovePane{direction: Some(Dir::Left)}], &[Action::MovePane{direction: Some(Dir::Down)}],
+ &[Action::MovePane{direction: Some(Dir::Up)}], &[Action::MovePane{direction: Some(Dir::Right)}]])),
(s("When done"), s("Back"), to_basemode_key),
]} else if mi.mode == IM::Scroll { vec![
(s("Enter search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
@@ -1347,26 +1456,26 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
single_action_key(&km, &[Action::EditScrollback, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::EnterSearch { vec![
- (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode(IM::Search)])),
+ (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode{input_mode: IM::Search}])),
(s("Cancel"), s("Cancel"),
- action_key(&km, &[A::SearchInput(vec![27]), A::SwitchToMode(IM::Scroll)])),
+ action_key(&km, &[A::SearchInput{input: vec![27]}, A::SwitchToMode{input_mode: IM::Scroll}])),
]} else if mi.mode == IM::Search { vec![
(s("Enter Search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
action_key_group(&km, &[&[Action::PageScrollDown], &[Action::PageScrollUp]])),
(s("Scroll half page"), s("Scroll"),
action_key_group(&km, &[&[Action::HalfPageScrollDown], &[Action::HalfPageScrollUp]])),
- (s("Search down"), s("Down"), action_key(&km, &[A::Search(SDir::Down)])),
- (s("Search up"), s("Up"), action_key(&km, &[A::Search(SDir::Up)])),
+ (s("Search down"), s("Down"), action_key(&km, &[A::Search{direction: SDir::Down}])),
+ (s("Search up"), s("Up"), action_key(&km, &[A::Search{direction: SDir::Up}])),
(s("Case sensitive"), s("Case"),
- action_key(&km, &[A::SearchToggleOption(SOpt::CaseSensitivity)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::CaseSensitivity}])),
(s("Wrap"), s("Wrap"),
- action_key(&km, &[A::SearchToggleOption(SOpt::Wrap)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::Wrap}])),
(s("Whole words"), s("Whole"),
- action_key(&km, &[A::SearchToggleOption(SOpt::WholeWord)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::WholeWord}])),
]} else if mi.mode == IM::Session { vec![
(s("Detach"), s("Detach"), action_key(&km, &[Action::Detach])),
(s("Session Manager"), s("Manager"), session_manager_key(&km)),
@@ -1377,14 +1486,14 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Tmux { vec![
(s("Move focus"), s("Move"), action_key_group(&km, &[
- &[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
- (s("Split down"), s("Down"), action_key(&km, &[A::NewPane(Some(Dir::Down), None, false), TO_NORMAL])),
- (s("Split right"), s("Right"), action_key(&km, &[A::NewPane(Some(Dir::Right), None, false), TO_NORMAL])),
+ &[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
+ (s("Split down"), s("Down"), action_key(&km, &[A::NewPane{direction: Some(Dir::Down), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Split right"), s("Right"), action_key(&km, &[A::NewPane{direction: Some(Dir::Right), pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Fullscreen"), s("Fullscreen"), action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
- (s("New tab"), s("New"), action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New tab"), s("New"), action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Rename tab"), s("Rename"),
- action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Previous Tab"), s("Previous"), action_key(&km, &[A::GoToPreviousTab, TO_NORMAL])),
(s("Next Tab"), s("Next"), action_key(&km, &[A::GoToNextTab, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),
diff --git a/default-plugins/status-bar/src/second_line.rs b/default-plugins/status-bar/src/second_line.rs
index b5ba8292..6f3fb02c 100644
--- a/default-plugins/status-bar/src/second_line.rs
+++ b/default-plugins/status-bar/src/second_line.rs
@@ -143,13 +143,13 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
}
if mi.mode == IM::Pane { vec![
- (s("New"), s("New"), action_key(&km, &[A::NewPane(None, None, false), TO_NORMAL])),
+ (s("New"), s("New"), action_key(&km, &[A::NewPane{direction: None, pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Change Focus"), s("Move"),
- action_key_group(&km, &[&[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
+ action_key_group(&km, &[&[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
(s("Close"), s("Close"), action_key(&km, &[A::CloseFocus, TO_NORMAL])),
(s("Rename"), s("Rename"),
- action_key(&km, &[A::SwitchToMode(IM::RenamePane), A::PaneNameInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::RenamePane}, A::PaneNameInput{input: vec![0]}])),
(s("Toggle Fullscreen"), s("Fullscreen"), action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
(s("Toggle Floating"), s("Floating"),
action_key(&km, &[A::ToggleFloatingPanes, TO_NORMAL])),
@@ -173,11 +173,11 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
};
vec![
- (s("New"), s("New"), action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New"), s("New"), action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Change focus"), s("Move"), focus_keys),
(s("Close"), s("Close"), action_key(&km, &[A::CloseTab, TO_NORMAL])),
(s("Rename"), s("Rename"),
- action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Sync"), s("Sync"), action_key(&km, &[A::ToggleActiveSyncTab, TO_NORMAL])),
(s("Break pane to new tab"), s("Break out"), action_key(&km, &[A::BreakPane, TO_NORMAL])),
(s("Break pane left/right"), s("Break"), action_key_group(&km, &[
@@ -189,29 +189,29 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
]} else if mi.mode == IM::Resize { vec![
(s("Increase/Decrease size"), s("Increase/Decrease"),
action_key_group(&km, &[
- &[A::Resize(Resize::Increase, None)],
- &[A::Resize(Resize::Decrease, None)]
+ &[A::Resize{resize: Resize::Increase, direction: None}],
+ &[A::Resize{resize: Resize::Decrease, direction: None}]
])),
(s("Increase to"), s("Increase"), action_key_group(&km, &[
- &[A::Resize(Resize::Increase, Some(Dir::Left))],
- &[A::Resize(Resize::Increase, Some(Dir::Down))],
- &[A::Resize(Resize::Increase, Some(Dir::Up))],
- &[A::Resize(Resize::Increase, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Right)}]
])),
(s("Decrease from"), s("Decrease"), action_key_group(&km, &[
- &[A::Resize(Resize::Decrease, Some(Dir::Left))],
- &[A::Resize(Resize::Decrease, Some(Dir::Down))],
- &[A::Resize(Resize::Decrease, Some(Dir::Up))],
- &[A::Resize(Resize::Decrease, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Right)}]
])),
(s("Select pane"), s("Select"), to_normal_key),
]} else if mi.mode == IM::Move { vec![
(s("Switch Location"), s("Move"), action_key_group(&km, &[
- &[Action::MovePane(Some(Dir::Left))], &[Action::MovePane(Some(Dir::Down))],
- &[Action::MovePane(Some(Dir::Up))], &[Action::MovePane(Some(Dir::Right))]])),
+ &[Action::MovePane{direction: Some(Dir::Left)}], &[Action::MovePane{direction: Some(Dir::Down)}],
+ &[Action::MovePane{direction: Some(Dir::Up)}], &[Action::MovePane{direction: Some(Dir::Right)}]])),
]} else if mi.mode == IM::Scroll { vec![
(s("Enter search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
@@ -222,48 +222,48 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
action_key(&km, &[Action::EditScrollback, TO_NORMAL])),
(s("Select pane"), s("Select"), to_normal_key),
]} else if mi.mode == IM::EnterSearch { vec![
- (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode(IM::Search)])),
+ (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode{input_mode: IM::Search}])),
(s("Cancel"), s("Cancel"),
- action_key(&km, &[A::SearchInput(vec![27]), A::SwitchToMode(IM::Scroll)])),
+ action_key(&km, &[A::SearchInput{input: vec![27]}, A::SwitchToMode{input_mode: IM::Scroll}])),
]} else if mi.mode == IM::Search { vec![
(s("Enter Search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
action_key_group(&km, &[&[Action::PageScrollDown], &[Action::PageScrollUp]])),
(s("Scroll half page"), s("Scroll"),
action_key_group(&km, &[&[Action::HalfPageScrollDown], &[Action::HalfPageScrollUp]])),
- (s("Search down"), s("Down"), action_key(&km, &[A::Search(SDir::Down)])),
- (s("Search up"), s("Up"), action_key(&km, &[A::Search(SDir::Up)])),
+ (s("Search down"), s("Down"), action_key(&km, &[A::Search{direction: SDir::Down}])),
+ (s("Search up"), s("Up"), action_key(&km, &[A::Search{direction: SDir::Up}])),
(s("Case sensitive"), s("Case"),
- action_key(&km, &[A::SearchToggleOption(SOpt::CaseSensitivity)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::CaseSensitivity}])),
(s("Wrap"), s("Wrap"),
- action_key(&km, &[A::SearchToggleOption(SOpt::Wrap)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::Wrap}])),
(s("Whole words"), s("Whole"),
- action_key(&km, &[A::SearchToggleOption(SOpt::WholeWord)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::WholeWord}])),
]} else if mi.mode == IM::Session { vec![
(s("Detach"), s("Detach"), action_key(&km, &[Action::Detach])),
- (s("Session Manager"), s("Manager"), action_key(&km, &[A::LaunchOrFocusPlugin(Default::default(), true, true, false, false), TO_NORMAL])), // not entirely accurate
+ (s("Session Manager"), s("Manager"), action_key(&km, &[A::LaunchOrFocusPlugin{plugin: Default::default(), should_float: true, move_to_focused_tab: true, should_open_in_place: false, skip_cache: false}, TO_NORMAL])), // not entirely accurate
(s("Select pane"), s("Select"), to_normal_key),
]} else if mi.mode == IM::Tmux { vec![
(s("Move focus"), s("Move"), action_key_group(&km, &[
- &[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
- (s("Split down"), s("Down"), action_key(&km, &[A::NewPane(Some(Dir::Down), None, false), TO_NORMAL])),
- (s("Split right"), s("Right"), action_key(&km, &[A::NewPane(Some(Dir::Right), None, false), TO_NORMAL])),
+ &[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
+ (s("Split down"), s("Down"), action_key(&km, &[A::NewPane{direction: Some(Dir::Down), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Split right"), s("Right"), action_key(&km, &[A::NewPane{direction: Some(Dir::Right), pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Fullscreen"), s("Fullscreen"), action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
- (s("New tab"), s("New"), action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New tab"), s("New"), action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Rename tab"), s("Rename"),
- action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Previous Tab"), s("Previous"), action_key(&km, &[A::GoToPreviousTab, TO_NORMAL])),
(s("Next Tab"), s("Next"), action_key(&km, &[A::GoToNextTab, TO_NORMAL])),
(s("Select pane"), s("Select"), to_normal_key),
]} else if matches!(mi.mode, IM::RenamePane | IM::RenameTab) { vec![
(s("When done"), s("Done"), to_normal_key),
(s("Select pane"), s("Select"), action_key_group(&km, &[
- &[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
+ &[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
]} else { vec![] }
}
@@ -413,9 +413,14 @@ pub fn floating_panes_are_visible(mode_info: &ModeInfo) -> LinePart {
let press = "Press ";
let pane_mode = format!(
"{}",
- action_key(km, &[Action::SwitchToMode(InputMode::Pane)])
- .first()
- .unwrap_or(&KeyWithModifier::new(BareKey::Char('?')))
+ action_key(
+ km,
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane
+ }]
+ )
+ .first()
+ .unwrap_or(&KeyWithModifier::new(BareKey::Char('?')))
);
let plus = ", ";
let p_left_separator = "<";
@@ -665,23 +670,38 @@ mod tests {
vec![
(
KeyWithModifier::new(BareKey::Left),
- vec![Action::MoveFocus(Direction::Left)],
+ vec![Action::MoveFocus {
+ direction: Direction::Left,
+ }],
),
(
KeyWithModifier::new(BareKey::Down),
- vec![Action::MoveFocus(Direction::Down)],
+ vec![Action::MoveFocus {
+ direction: Direction::Down,
+ }],
),
(
KeyWithModifier::new(BareKey::Up),
- vec![Action::MoveFocus(Direction::Up)],
+ vec![Action::MoveFocus {
+ direction: Direction::Up,
+ }],
),
(
KeyWithModifier::new(BareKey::Right),
- vec![Action::MoveFocus(Direction::Right)],
+ vec![Action::MoveFocus {
+ direction: Direction::Right,
+ }],
),
(
KeyWithModifier::new(BareKey::Char('n')),
- vec![Action::NewPane(None, None, false), TO_NORMAL],
+ vec![
+ Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ },
+ TO_NORMAL,
+ ],
),
(
KeyWithModifier::new(BareKey::Char('x')),
@@ -715,23 +735,38 @@ mod tests {
vec![
(
KeyWithModifier::new(BareKey::Left),
- vec![Action::MoveFocus(Direction::Left)],
+ vec![Action::MoveFocus {
+ direction: Direction::Left,
+ }],
),
(
KeyWithModifier::new(BareKey::Down),
- vec![Action::MoveFocus(Direction::Down)],
+ vec![Action::MoveFocus {
+ direction: Direction::Down,
+ }],
),
(
KeyWithModifier::new(BareKey::Up),
- vec![Action::MoveFocus(Direction::Up)],
+ vec![Action::MoveFocus {
+ direction: Direction::Up,
+ }],
),
(
KeyWithModifier::new(BareKey::Right),
- vec![Action::MoveFocus(Direction::Right)],
+ vec![Action::MoveFocus {
+ direction: Direction::Right,
+ }],
),
(
KeyWithModifier::new(BareKey::Char('n')),
- vec![Action::NewPane(None, None, false), TO_NORMAL],
+ vec![
+ Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ },
+ TO_NORMAL,
+ ],
),
(
KeyWithModifier::new(BareKey::Char('x')),
@@ -761,23 +796,38 @@ mod tests {
vec![
(
KeyWithModifier::new(BareKey::Char('a')).with_ctrl_modifier(),
- vec![Action::MoveFocus(Direction::Left)],
+ vec![Action::MoveFocus {
+ direction: Direction::Left,
+ }],
),
(
KeyWithModifier::new(BareKey::Enter).with_ctrl_modifier(),
- vec![Action::MoveFocus(Direction::Down)],
+ vec![Action::MoveFocus {
+ direction: Direction::Down,
+ }],
),
(
KeyWithModifier::new(BareKey::Char('1')).with_ctrl_modifier(),
- vec![Action::MoveFocus(Direction::Up)],
+ vec![Action::MoveFocus {
+ direction: Direction::Up,
+ }],
),
(
KeyWithModifier::new(BareKey::Char(' ')).with_ctrl_modifier(),
- vec![Action::MoveFocus(Direction::Right)],
+ vec![Action::MoveFocus {
+ direction: Direction::Right,
+ }],
),
(
KeyWithModifier::new(BareKey::Backspace),
- vec![Action::NewPane(None, None, false), TO_NORMAL],
+ vec![
+ Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ },
+ TO_NORMAL,
+ ],
),
(
KeyWithModifier::new(BareKey::Esc),
diff --git a/default-plugins/status-bar/src/tip/data/compact_layout.rs b/default-plugins/status-bar/src/tip/data/compact_layout.rs
index 6da1a155..e8ee5e16 100644
--- a/default-plugins/status-bar/src/tip/data/compact_layout.rs
+++ b/default-plugins/status-bar/src/tip/data/compact_layout.rs
@@ -78,13 +78,17 @@ pub fn compact_layout_short(help: &ModeInfo) -> LinePart {
fn add_keybinds(help: &ModeInfo) -> Vec<ANSIString> {
let to_pane = action_key(
&help.get_mode_keybinds(),
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
);
let pane_frames = action_key(
&help.get_keybinds_for_mode(InputMode::Pane),
&[
Action::TogglePaneFrames,
- Action::SwitchToMode(InputMode::Normal),
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ },
],
);
diff --git a/default-plugins/status-bar/src/tip/data/edit_scrollbuffer.rs b/default-plugins/status-bar/src/tip/data/edit_scrollbuffer.rs
index 033dd61d..cbc38f28 100644
--- a/default-plugins/status-bar/src/tip/data/edit_scrollbuffer.rs
+++ b/default-plugins/status-bar/src/tip/data/edit_scrollbuffer.rs
@@ -68,13 +68,17 @@ pub fn edit_scrollbuffer_short(help: &ModeInfo) -> LinePart {
fn add_keybinds(help: &ModeInfo) -> Vec<ANSIString> {
let to_pane = action_key(
&help.get_mode_keybinds(),
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
);
let edit_buffer = action_key(
&help.get_keybinds_for_mode(InputMode::Scroll),
&[
Action::EditScrollback,
- Action::SwitchToMode(InputMode::Normal),
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ },
],
);
diff --git a/default-plugins/status-bar/src/tip/data/floating_panes_mouse.rs b/default-plugins/status-bar/src/tip/data/floating_panes_mouse.rs
index 4bf4a143..8e20a49c 100644
--- a/default-plugins/status-bar/src/tip/data/floating_panes_mouse.rs
+++ b/default-plugins/status-bar/src/tip/data/floating_panes_mouse.rs
@@ -47,13 +47,17 @@ pub fn floating_panes_mouse_short(help: &ModeInfo) -> LinePart {
fn add_keybinds(help: &ModeInfo) -> Vec<ANSIString> {
let to_pane = action_key(
&help.get_mode_keybinds(),
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
);
let floating_toggle = action_key(
&help.get_keybinds_for_mode(InputMode::Pane),
&[
Action::ToggleFloatingPanes,
- Action::SwitchToMode(InputMode::Normal),
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ },
],
);
diff --git a/default-plugins/status-bar/src/tip/data/move_focus_hjkl_tab_switch.rs b/default-plugins/status-bar/src/tip/data/move_focus_hjkl_tab_switch.rs
index c39ea302..5afcc6ec 100644
--- a/default-plugins/status-bar/src/tip/data/move_focus_hjkl_tab_switch.rs
+++ b/default-plugins/status-bar/src/tip/data/move_focus_hjkl_tab_switch.rs
@@ -50,8 +50,12 @@ fn add_keybinds(help: &ModeInfo) -> Vec<ANSIString> {
let move_focus_keys = action_key_group(
&pane_keymap,
&[
- &[Action::MoveFocusOrTab(Direction::Left)],
- &[Action::MoveFocusOrTab(Direction::Right)],
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
],
);
diff --git a/default-plugins/status-bar/src/tip/data/quicknav.rs b/default-plugins/status-bar/src/tip/data/quicknav.rs
index ef83bbd7..a33afc18 100644
--- a/default-plugins/status-bar/src/tip/data/quicknav.rs
+++ b/default-plugins/status-bar/src/tip/data/quicknav.rs
@@ -62,7 +62,14 @@ struct Keygroups<'a> {
fn add_keybinds(help: &ModeInfo) -> Keygroups {
let normal_keymap = help.get_mode_keybinds();
- let new_pane_keys = action_key(&normal_keymap, &[Action::NewPane(None, None, false)]);
+ let new_pane_keys = action_key(
+ &normal_keymap,
+ &[Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ }],
+ );
let new_pane = if new_pane_keys.is_empty() {
vec![Style::new().bold().paint("UNBOUND")]
} else {
@@ -72,8 +79,14 @@ fn add_keybinds(help: &ModeInfo) -> Keygroups {
let mut resize_keys = action_key_group(
&normal_keymap,
&[
- &[Action::Resize(Resize::Increase, None)],
- &[Action::Resize(Resize::Decrease, None)],
+ &[Action::Resize {
+ resize: Resize::Increase,
+ direction: None,
+ }],
+ &[Action::Resize {
+ resize: Resize::Decrease,
+ direction: None,
+ }],
],
);
if resize_keys.contains(&KeyWithModifier::new(BareKey::Char('=')).with_alt_modifier())
@@ -90,12 +103,24 @@ fn add_keybinds(help: &ModeInfo) -> Keygroups {
let move_focus_keys = action_key_group(
&normal_keymap,
&[
- &[Action::MoveFocus(Direction::Left)],
- &[Action::MoveFocusOrTab(Direction::Left)],
- &[Action::MoveFocus(Direction::Down)],
- &[Action::MoveFocus(Direction::Up)],
- &[Action::MoveFocus(Direction::Right)],
- &[Action::MoveFocusOrTab(Direction::Right)],
+ &[Action::MoveFocus {
+ direction: Direction::Left,
+ }],
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
+ &[Action::MoveFocus {
+ direction: Direction::Down,
+ }],
+ &[Action::MoveFocus {
+ direction: Direction::Up,
+ }],
+ &[Action::MoveFocus {
+ direction: Direction::Right,
+ }],
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
],
);
// Let's see if we have some pretty groups in common here
diff --git a/default-plugins/status-bar/src/tip/data/sync_tab.rs b/default-plugins/status-bar/src/tip/data/sync_tab.rs
index 486e2aa2..b319ee0b 100644
--- a/default-plugins/status-bar/src/tip/data/sync_tab.rs
+++ b/default-plugins/status-bar/src/tip/data/sync_tab.rs
@@ -46,13 +46,17 @@ pub fn sync_tab_short(help: &ModeInfo) -> LinePart {
fn add_keybinds(help: &ModeInfo) -> Vec<ANSIString> {
let to_tab = action_key(
&help.get_mode_keybinds(),
- &[Action::SwitchToMode(InputMode::Tab)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
);
let sync_tabs = action_key(
&help.get_keybinds_for_mode(InputMode::Tab),
&[
Action::ToggleActiveSyncTab,
- Action::SwitchToMode(InputMode::Normal),
+ Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ },
],
);