Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-term/src/keymap/default.rs')
| -rw-r--r-- | helix-term/src/keymap/default.rs | 65 |
1 files changed, 23 insertions, 42 deletions
diff --git a/helix-term/src/keymap/default.rs b/helix-term/src/keymap/default.rs index 5bbbd3f4..7bd5146f 100644 --- a/helix-term/src/keymap/default.rs +++ b/helix-term/src/keymap/default.rs @@ -1,10 +1,10 @@ use std::collections::HashMap; use super::macros::keymap; -use super::{KeyTrie, Mode}; +use super::{Domain, KeyTrie, Mode}; use helix_core::hashmap; -pub fn default() -> HashMap<Mode, KeyTrie> { +pub fn default() -> HashMap<Domain, KeyTrie> { let normal = keymap!({ "Normal mode" "h" | "left" => move_char_left, "j" | "down" => move_visual_line_down, @@ -38,7 +38,6 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "G" => goto_line, "g" => { "Goto" "g" => goto_file_start, - "|" => goto_column, "e" => goto_last_line, "f" => goto_file, "h" => goto_line_start, @@ -59,7 +58,6 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "k" => move_line_up, "j" => move_line_down, "." => goto_last_modification, - "w" => goto_word, }, ":" => command_mode, @@ -88,12 +86,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "A-;" => flip_selections, "A-o" | "A-up" => expand_selection, "A-i" | "A-down" => shrink_selection, - "A-I" | "A-S-down" => select_all_children, "A-p" | "A-left" => select_prev_sibling, "A-n" | "A-right" => select_next_sibling, - "A-e" => move_parent_node_end, - "A-b" => move_parent_node_start, - "A-a" => select_all_siblings, "%" => select_all, "x" => extend_line_below, @@ -117,10 +111,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "t" => goto_prev_class, "a" => goto_prev_parameter, "c" => goto_prev_comment, - "e" => goto_prev_entry, "T" => goto_prev_test, "p" => goto_prev_paragraph, - "x" => goto_prev_xml_element, "space" => add_newline_above, }, "]" => { "Right bracket" @@ -132,10 +124,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "t" => goto_next_class, "a" => goto_next_parameter, "c" => goto_next_comment, - "e" => goto_next_entry, "T" => goto_next_test, "p" => goto_next_paragraph, - "x" => goto_next_xml_element, "space" => add_newline_below, }, @@ -143,8 +133,7 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "?" => rsearch, "n" => search_next, "N" => search_prev, - "*" => search_selection_detect_word_boundaries, - "A-*" => search_selection, + "*" => search_selection, "u" => undo, "U" => redo, @@ -187,8 +176,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "esc" => normal_mode, "C-b" | "pageup" => page_up, "C-f" | "pagedown" => page_down, - "C-u" => page_cursor_half_up, - "C-d" => page_cursor_half_down, + "C-u" => half_page_up, + "C-d" => half_page_down, "C-w" => { "Window" "C-w" | "w" => rotate_view, @@ -225,18 +214,15 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "space" => { "Space" "f" => file_picker, "F" => file_picker_in_current_directory, - "e" => file_explorer, - "E" => file_explorer_in_current_buffer_directory, "b" => buffer_picker, "j" => jumplist_picker, - "s" => lsp_or_syntax_symbol_picker, - "S" => lsp_or_syntax_workspace_symbol_picker, + "s" => symbol_picker, + "S" => workspace_symbol_picker, "d" => diagnostics_picker, "D" => workspace_diagnostics_picker, - "g" => changed_file_picker, "a" => code_action, "'" => last_picker, - "G" => { "Debug (experimental)" sticky=true + "g" => { "Debug (experimental)" sticky=true "l" => dap_launch, "r" => dap_restart, "b" => dap_toggle_breakpoint, @@ -279,7 +265,7 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "C-v" | "v" => vsplit_new, }, }, - "y" => yank_to_clipboard, + "y" => yank_joined_to_clipboard, "Y" => yank_main_selection_to_clipboard, "p" => paste_clipboard_after, "P" => paste_clipboard_before, @@ -288,9 +274,6 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "k" => hover, "r" => rename_symbol, "h" => select_references_to_symbol_under_cursor, - "c" => toggle_comments, - "C" => toggle_block_comments, - "A-c" => toggle_line_comments, "?" => command_palette, }, "z" => { "View" @@ -302,8 +285,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "j" | "down" => scroll_down, "C-b" | "pageup" => page_up, "C-f" | "pagedown" => page_down, - "C-u" | "backspace" => page_cursor_half_up, - "C-d" | "space" => page_cursor_half_down, + "C-u" | "backspace" => half_page_up, + "C-d" | "space" => half_page_down, "/" => search, "?" => rsearch, @@ -319,8 +302,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "j" | "down" => scroll_down, "C-b" | "pageup" => page_up, "C-f" | "pagedown" => page_down, - "C-u" | "backspace" => page_cursor_half_up, - "C-d" | "space" => page_cursor_half_down, + "C-u" | "backspace" => half_page_up, + "C-d" | "space" => half_page_down, "/" => search, "?" => rsearch, @@ -353,9 +336,6 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "B" => extend_prev_long_word_start, "E" => extend_next_long_word_end, - "A-e" => extend_parent_node_end, - "A-b" => extend_parent_node_start, - "n" => extend_search_next, "N" => extend_search_prev, @@ -370,12 +350,8 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "v" => normal_mode, "g" => { "Goto" - "g" => extend_to_file_start, - "|" => extend_to_column, - "e" => extend_to_last_line, "k" => extend_line_up, "j" => extend_line_down, - "w" => extend_to_word, }, })); let insert = keymap!({ "Insert mode" @@ -392,8 +368,7 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "C-h" | "backspace" | "S-backspace" => delete_char_backward, "C-d" | "del" => delete_char_forward, "C-j" | "ret" => insert_newline, - "tab" => smart_tab, - "S-tab" => insert_tab, + "tab" => insert_tab, "up" => move_visual_line_up, "down" => move_visual_line_down, @@ -404,9 +379,15 @@ pub fn default() -> HashMap<Mode, KeyTrie> { "home" => goto_line_start, "end" => goto_line_end_newline, }); + + let buffer_picker = keymap!({ "Buffer picker" + "C-x" => close_buffer_in_buffer_picker, + }); + hashmap!( - Mode::Normal => normal, - Mode::Select => select, - Mode::Insert => insert, + Domain::Mode(Mode::Normal) => normal, + Domain::Mode(Mode::Select) => select, + Domain::Mode(Mode::Insert) => insert, + Domain::Component("buffer-picker") => buffer_picker, ) } |