use {reovim_kernel::api::v1::KeybindingRegistration, reovim_module_window_ops::ids as window_ops};
#[must_use]
#[allow(clippy::too_many_lines)]
pub fn bindings() -> Vec<KeybindingRegistration> {
vec![
KeybindingRegistration::new("h", window_ops::FOCUS_LEFT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window to the left"),
KeybindingRegistration::new("j", window_ops::FOCUS_DOWN)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window below"),
KeybindingRegistration::new("k", window_ops::FOCUS_UP)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window above"),
KeybindingRegistration::new("l", window_ops::FOCUS_RIGHT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window to the right"),
KeybindingRegistration::new("<Left>", window_ops::FOCUS_LEFT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window to the left"),
KeybindingRegistration::new("<Down>", window_ops::FOCUS_DOWN)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window below"),
KeybindingRegistration::new("<Up>", window_ops::FOCUS_UP)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window above"),
KeybindingRegistration::new("<Right>", window_ops::FOCUS_RIGHT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Focus window to the right"),
KeybindingRegistration::new("w", window_ops::FOCUS_NEXT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Cycle to next window"),
KeybindingRegistration::new("W", window_ops::FOCUS_PREV)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Cycle to previous window"),
KeybindingRegistration::new("p", window_ops::FOCUS_PREV)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Cycle to previous window"),
KeybindingRegistration::new("s", window_ops::SPLIT_HORIZONTAL)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Split window horizontally"),
KeybindingRegistration::new("v", window_ops::SPLIT_VERTICAL)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Split window vertically"),
KeybindingRegistration::new("n", window_ops::SPLIT_NEW)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("New window with empty buffer"),
KeybindingRegistration::new("c", window_ops::CLOSE_WINDOW)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Close current window"),
KeybindingRegistration::new("q", window_ops::CLOSE_WINDOW)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Close current window"),
KeybindingRegistration::new("o", window_ops::CLOSE_OTHERS)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Close all other windows"),
KeybindingRegistration::new("+", window_ops::RESIZE_HEIGHT_INCREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Increase window height"),
KeybindingRegistration::new("-", window_ops::RESIZE_HEIGHT_DECREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Decrease window height"),
KeybindingRegistration::new(">", window_ops::RESIZE_WIDTH_INCREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Increase window width"),
KeybindingRegistration::new("<lt>", window_ops::RESIZE_WIDTH_DECREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Decrease window width"),
KeybindingRegistration::new("=", window_ops::RESIZE_EQUAL)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Equalize all window sizes"),
KeybindingRegistration::new("f", window_ops::TOGGLE_FLOAT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Toggle between tiled and floating"),
KeybindingRegistration::new("]", window_ops::RAISE_FLOAT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Raise float to front"),
KeybindingRegistration::new("[", window_ops::LOWER_FLOAT)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Lower float to back"),
KeybindingRegistration::new(".", window_ops::LAYER_OPACITY_INCREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Increase layer opacity"),
KeybindingRegistration::new(",", window_ops::LAYER_OPACITY_DECREASE)
.with_modes(&["vim:window"])
.with_category("window")
.with_description("Decrease layer opacity"),
KeybindingRegistration::new("T", window_ops::MOVE_TO_NEW_TAB)
.with_modes(&["vim:window"])
.with_category("tab")
.with_description("Move current window to new tab"),
KeybindingRegistration::new("<Esc>", crate::ids::CANCEL_TO_NORMAL)
.with_modes(&["vim:window"])
.with_category("mode")
.with_description("Return to normal mode"),
]
}