From 4b34804670925520f7b92d0ddd936381562e29bb Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 6 Mar 2025 21:11:51 +0100 Subject: [PATCH] feat: re-organize home screen --- src/keybind/builtin/emacs.json | 23 ++++++----- src/keybind/builtin/flow.json | 74 +++++++++++++--------------------- src/keybind/builtin/helix.json | 9 +++-- src/keybind/builtin/vim.json | 7 +++- src/tui/home.zig | 18 ++++++--- 5 files changed, 65 insertions(+), 66 deletions(-) diff --git a/src/keybind/builtin/emacs.json b/src/keybind/builtin/emacs.json index cd47455..b7349ec 100644 --- a/src/keybind/builtin/emacs.json +++ b/src/keybind/builtin/emacs.json @@ -1,12 +1,22 @@ { "project": { "press": [ + ["f4", "toggle_input_mode"], ["ctrl+0", "reset_fontsize"], ["ctrl+=", "adjust_fontsize", 1.0], - ["ctrl+-", "adjust_fontsize", -1.0] + ["ctrl+-", "adjust_fontsize", -1.0], + ["ctrl+r", "find_file"], + ["ctrl+h ctrl+a", "open_help"], + ["ctrl+x ctrl+f", "open_file"], + ["ctrl+x b", "open_recent"], + ["ctrl+c ctrl+o", "open_recent_project"], + ["ctrl+c g", "find_in_files"], + ["alt+x", "open_command_palette"], + ["ctrl+x ctrl+c", "quit"] ] }, "normal": { + "inherit": "project", "press": [ ["ctrl+g", "cancel"], ["ctrl+_", "undo"], @@ -32,12 +42,9 @@ ["ctrl+y", "system_paste"], ["ctrl+x ctrl+f", "open_file"], ["ctrl+x k", "close_file"], - ["ctrl+x ctrl+c", "quit"], ["ctrl+x ctrl+s", "save_file"], - ["ctrl+x ctrl+c", "quit"], ["ctrl+x b", "switch_buffers"], ["ctrl+x ctrl+r", "open_recent"], - ["alt+x", "open_command_palette"], ["ctrl+space", "enter_mode", "select"], ["ctrl+c l = =", "format"], @@ -95,13 +102,9 @@ }, "home": { "on_match_failure": "ignore", + "inherit": "project", "press": [ - ["ctrl+h ctrl+a", "open_help"], - ["ctrl+x ctrl+f", "open_file"], - ["ctrl+x b", "open_recent"], - ["alt+x", "open_command_palette"], - ["f", "change_fontface"], - ["ctrl+x ctrl+c", "quit"] + ["f", "change_fontface"] ] } } diff --git a/src/keybind/builtin/flow.json b/src/keybind/builtin/flow.json index 35cdc55..54972fe 100644 --- a/src/keybind/builtin/flow.json +++ b/src/keybind/builtin/flow.json @@ -1,7 +1,33 @@ { "project": { "press": [ + ["ctrl+e", "find_file"], ["ctrl+shift+n", "create_new_file"], + ["ctrl+r", "open_recent_project"], + ["f1", "open_help"], + ["ctrl+j", "toggle_panel"], + ["ctrl+q", "quit"], + ["ctrl+w", "quit"], + ["ctrl+o", "open_file"], + ["ctrl+e", "open_recent"], + ["ctrl+p", "open_command_palette"], + ["ctrl+k ctrl+t", "change_theme"], + ["ctrl+shift+p", "open_command_palette"], + ["ctrl+shift+q", "quit_without_saving"], + ["ctrl+shift+f", "find_in_files"], + ["ctrl+shift+l", "toggle_panel"], + ["alt+shift+p", "open_command_palette"], + ["alt+n", "goto_next_file_or_diagnostic"], + ["alt+p", "goto_prev_file_or_diagnostic"], + ["alt+l", "toggle_panel"], + ["alt+i", "toggle_inputview"], + ["alt+x", "open_command_palette"], + ["f4", "toggle_input_mode"], + ["ctrl+f2", "insert_command_name"], + ["f9", "theme_prev"], + ["f10", "theme_next"], + ["f11", "toggle_panel"], + ["f12", "toggle_inputview"], ["alt+!", "select_task"], ["ctrl+tab", "next_tab"], ["ctrl+shift+tab", "previous_tab"], @@ -11,19 +37,15 @@ ["ctrl+minus", "adjust_fontsize", -1.0], ["f5", ["create_scratch_buffer", "*test*"], ["shell_execute_insert", "zig", "build", "test"]], ["f7", ["create_scratch_buffer", "*build*"], ["shell_execute_insert", "zig", "build"]], + ["ctrl+f6", "open_version_info"], ["alt+d", ["shell_execute_log", "date"]] ] }, "normal": { "inherit": "project", "press": [ - ["ctrl+e", "open_recent"], - ["ctrl+r", "open_recent_project"], - ["ctrl+j", "toggle_panel"], ["ctrl+z", "undo"], ["ctrl+y", "redo"], - ["ctrl+q", "quit"], - ["ctrl+o", "open_file"], ["ctrl+w", "close_file"], ["ctrl+s", "save_file"], ["ctrl+l", "scroll_view_center_cycle"], @@ -39,7 +61,6 @@ ["ctrl+k ctrl+u", "delete_to_begin"], ["ctrl+k ctrl+k", "delete_to_end"], ["ctrl+k ctrl+d", "move_cursor_next_match"], - ["ctrl+k ctrl+t", "change_theme"], ["ctrl+k ctrl+i", "hover"], ["ctrl+f", "find"], ["ctrl+g", "goto"], @@ -62,12 +83,9 @@ ["ctrl+f10", "toggle_whitespace_mode"], ["ctrl+f12", "goto_implementation"], ["ctrl+shift+s", "save_as"], - ["ctrl+shift+p", "open_command_palette"], ["ctrl+shift+d", "dupe_down"], ["ctrl+shift+z", "redo"], - ["ctrl+shift+q", "quit_without_saving"], ["ctrl+shift+w", "close_file_without_saving"], - ["ctrl+shift+f", "find_in_files"], ["ctrl+shift+l", "run_async", "add_cursor_all_matches"], ["ctrl+shift+i", "run_async", "toggle_inspector_view"], ["ctrl+shift+m", "show_diagnostics"], @@ -86,12 +104,10 @@ ["alt+u", "to_upper"], ["alt+l", "to_lower"], ["alt+c", "switch_case"], - ["alt+i", "toggle_inputview"], ["alt+b", "move_word_left"], ["alt+f", "move_word_right"], ["alt+s", "filter", "sort"], ["alt+v", "paste"], - ["alt+x", "open_command_palette"], ["alt+R", ["shell_execute_insert", "openssl", "rand", "-hex", "4"]], ["alt+left", "jump_back"], ["alt+right", "jump_forward"], @@ -101,7 +117,6 @@ ["alt+f10", "gutter_mode_next"], ["alt+shift+f10", "gutter_style_next"], ["alt+f12", "goto_declaration"], - ["alt+shift+p", "open_command_palette"], ["alt+shift+d", "dupe_up"], ["alt+shift+f", "format"], ["alt+shift+s", "filter", "sort", "-u"], @@ -134,8 +149,6 @@ ["shift+backspace", "delete_backward"], ["shift+tab", "unindent"], ["f2", "rename_symbol"], - ["f4", "toggle_input_mode"], - ["ctrl+f2", "insert_command_name"], ["f3", "goto_next_match"], ["f15", "goto_prev_match"], ["ctrl+f5", "dump_current_line_tree"], @@ -221,46 +234,13 @@ "inherit": "project", "on_match_failure": "ignore", "press": [ - ["h", "open_help"], - ["o", "open_file"], - ["e", "open_recent"], - ["r", "open_recent_project"], - ["p", "open_command_palette"], ["c", "open_config"], ["g", "open_gui_config"], ["k", "open_keybind_config"], - ["t", "change_theme"], ["f", "change_fontface"], - ["v", "open_version_info"], - ["q", "quit"], ["ctrl+f ctrl+f ctrl+f ctrl+f ctrl+f", "home_sheeran"], - ["ctrl+j", "toggle_panel"], - ["ctrl+q", "quit"], - ["ctrl+w", "quit"], - ["ctrl+o", "open_file"], - ["ctrl+e", "open_recent"], - ["ctrl+r", "open_recent_project"], - ["ctrl+p", "open_command_palette"], - ["ctrl+k ctrl+t", "change_theme"], - ["ctrl+shift+p", "open_command_palette"], - ["ctrl+shift+q", "quit_without_saving"], ["ctrl+shift+r", "restart"], - ["ctrl+shift+f", "find_in_files"], - ["ctrl+shift+l", "toggle_panel"], - ["alt+shift+p", "open_command_palette"], - ["alt+n", "goto_next_file_or_diagnostic"], - ["alt+p", "goto_prev_file_or_diagnostic"], - ["alt+l", "toggle_panel"], - ["alt+i", "toggle_inputview"], - ["alt+x", "open_command_palette"], - ["f1", "open_help"], - ["f4", "toggle_input_mode"], - ["ctrl+f2", "insert_command_name"], ["f6", "open_config"], - ["f9", "theme_prev"], - ["f10", "theme_next"], - ["f11", "toggle_panel"], - ["f12", "toggle_inputview"], ["up", "home_menu_up"], ["down", "home_menu_down"], ["enter", "home_menu_activate"] diff --git a/src/keybind/builtin/helix.json b/src/keybind/builtin/helix.json index d17fb85..2035724 100644 --- a/src/keybind/builtin/helix.json +++ b/src/keybind/builtin/helix.json @@ -511,13 +511,16 @@ "home": { "on_match_failure": "ignore", "press": [ + ["f", "find_file"], + ["g", "find_in_files"], [":", "open_command_palette"], - [";", "open_command_palette"], - ["shift+;", "open_command_palette"], ["b", "open_keybind_config"], ["j", "home_menu_down"], ["k", "home_menu_up"], - ["f", "change_fontface"], + ["F", "change_fontface"], + ["h", "open_help"], + ["v", "open_version_info"], + ["q", "quit"], ["space", "home_menu_activate"] ] } diff --git a/src/keybind/builtin/vim.json b/src/keybind/builtin/vim.json index 12ad456..87438f8 100644 --- a/src/keybind/builtin/vim.json +++ b/src/keybind/builtin/vim.json @@ -193,11 +193,16 @@ "syntax": "vim", "on_match_failure": "ignore", "press": [ + ["f", "find_file"], + ["g", "find_in_files"], [":", "open_command_palette"], ["b", "open_keybind_config"], ["j", "home_menu_down"], ["k", "home_menu_up"], - ["f", "change_fontface"], + ["F", "change_fontface"], + ["h", "open_help"], + ["v", "open_version_info"], + ["q", "quit"], ["", "home_menu_activate"] ] } diff --git a/src/tui/home.zig b/src/tui/home.zig index afa6b3a..ed5bd84 100644 --- a/src/tui/home.zig +++ b/src/tui/home.zig @@ -27,29 +27,37 @@ input_namespace: []const u8, const Self = @This(); const menu_commands = if (build_options.gui) &[_][]const u8{ - "open_help", + "find_file", + "create_new_file", "open_file", - "open_recent", "open_recent_project", + "find_in_files", "open_command_palette", + "select_task", + "add_task", "open_config", "open_gui_config", + "change_fontface", "open_keybind_config", "toggle_input_mode", "change_theme", - "change_fontface", + "open_help", "open_version_info", "quit", } else &[_][]const u8{ - "open_help", + "find_file", + "create_new_file", "open_file", - "open_recent", "open_recent_project", + "find_in_files", "open_command_palette", + "select_task", + "add_task", "open_config", "open_keybind_config", "toggle_input_mode", "change_theme", + "open_help", "open_version_info", "quit", };