keys_global = { // NOTE(rjf): Meta { "exit_4coder" , "F4", "Alt" }, { "keyboard_macro_start_recording" , "U", "Control" }, { "keyboard_macro_finish_recording", "U", "Control", "Shift" }, { "keyboard_macro_replay", "U", "Alt" }, { "change_active_panel", "Comma", "Control" }, { "change_active_panel_backwards", "Comma", "Control", "Shift" }, { "project_go_to_root_directory", "H", "Control" }, { "f4_toggle_compilation_expand", "Insert" }, { "change_to_build_panel", "Period", "Alt" }, { "close_build_panel", "Comma", "Alt" }, { "f4_switch_syntax_option", "Tick", "Control" }, // NOTE(rjf): Files { "interactive_new", "N", "Control" }, { "f4_setup_new_project", "N", "Control", "Shift" }, { "interactive_open_or_new", "O", "Control" }, { "f4_interactive_open_or_new_in_project", "O", "Alt" }, { "f4_open_project", "O", "Control", "Shift" }, { "interactive_kill_buffer", "K", "Control" }, { "interactive_switch_buffer", "I", "Control" }, { "save_all_dirty_buffers", "S", "Control", "Shift" }, { "f4_recent_files_menu", "V", "Alt" }, // NOTE(rjf): Jump Lists { "goto_next_jump", "N", "Alt" }, { "goto_prev_jump", "N", "Alt", "Shift" }, { "goto_first_jump", "M", "Alt", "Shift" }, // NOTE(rjf): Commands { "execute_any_cli", "Z", "Alt" }, { "execute_previous_cli", "Z", "Alt", "Shift" }, { "command_lister", "X", "Alt" }, // NOTE(rjf): Project { "build_in_build_panel", "M", "Alt" }, { "project_command_lister", "X", "Alt", "Shift" }, { "project_fkey_command", "F1", "Control" }, { "project_fkey_command", "F2", "Control" }, { "project_fkey_command", "F3", "Control" }, { "project_fkey_command", "F4", "Control" }, { "project_fkey_command", "F5", "Control" }, { "project_fkey_command", "F6", "Control" }, { "project_fkey_command", "F7", "Control" }, { "project_fkey_command", "F8", "Control" }, { "project_fkey_command", "F9", "Control" }, { "project_fkey_command", "F10", "Control" }, { "project_fkey_command", "F11", "Control" }, { "project_fkey_command", "F12", "Control" }, { "project_fkey_command", "F13", "Control" }, { "project_fkey_command", "F14", "Control" }, { "project_fkey_command", "F15", "Control" }, { "project_fkey_command", "F16", "Control" }, // NOTE(rjf): Panels { "open_panel_vsplit", "P", "Control" }, { "open_panel_hsplit", "Minus", "Control" }, { "close_panel", "P", "Control", "Shift" }, { "f4_search_for_definition__project_wide", "J", "Control" }, { "f4_search_for_definition__current_file", "J", "Control", "Shift" }, { "jump_to_last_point", "J", "Alt" }, }; keys_file = { // NOTE(rjf): None => Characters // Ctrl => Tokens // Alt => Alphanumeric/Camel // NOTE(rjf): Backspace/Delete { "delete_char", "Delete" }, { "f4_delete_token_boundary", "Delete", "Control" }, { "f4_delete_alpha_numeric_or_camel_boundary", "Delete", "Alt" }, { "backspace_char", "Backspace" }, { "f4_backspace_token_boundary", "Backspace", "Control" }, { "f4_backspace_alpha_numeric_or_camel_boundary", "Backspace", "Alt" }, // NOTE(rjf): Left/Right Arrow Keys { "f4_move_left", "Left" }, { "f4_move_left_token_boundary", "Left", "Control" }, { "move_left_alpha_numeric_or_camel_boundary", "Left", "Alt" }, { "f4_move_right", "Right" }, { "f4_move_right_token_boundary", "Right", "Control" }, { "move_right_alpha_numeric_or_camel_boundary", "Right", "Alt" }, // NOTE(rjf): Up/Down Arrow Keys { "move_up", "Up" }, { "move_down", "Down" }, { "move_up_to_blank_line_end", "Up", "Control" }, { "move_down_to_blank_line_end", "Down", "Control" }, { "move_line_up", "Up", "Alt" }, { "move_line_down", "Down", "Alt" }, { "f4_move_to_prev_divider_comment", "Up", "Control", "Shift" }, { "f4_move_to_next_divider_comment", "Down", "Control", "Shift" }, { "f4_move_up_token_occurrence", "Up", "Control", "Alt" }, { "f4_move_down_token_occurrence", "Down", "Control", "Alt" }, // NOTE(rjf): Alternative Movement Keys { "seek_end_of_line", "End" }, { "f4_home_first_non_whitespace", "Home" }, { "page_up", "PageUp" }, { "page_down", "PageDown" }, { "goto_beginning_of_file", "PageUp", "Control" }, { "goto_end_of_file", "PageDown", "Control" }, // NOTE(rjf): Mark { "set_mark", "Space", "Control" }, { "cursor_mark_swap", "M", "Control" }, // NOTE(rjf): Search { "f4_search", "F", "Control" }, { "f4_reverse_search", "R", "Control" }, { "list_all_locations", "F", "Control", "Shift" }, { "list_all_substring_locations_case_insensitive", "F", "Alt" }, { "goto_line", "G", "Control" }, { "list_all_locations_of_selection", "G", "Control", "Shift" }, { "search_identifier", "T", "Control" }, { "list_all_locations_of_identifier", "T", "Control", "Shift" }, // NOTE(rjf): Replace { "replace_in_range", "A", "Control" }, { "query_replace", "Q", "Control" }, { "query_replace_identifier", "Q", "Control", "Shift" }, { "query_replace_selection", "Q", "Alt" }, // NOTE(rjf): Clipboard { "copy", "C", "Control" }, { "paste_and_indent", "V", "Control" }, { "paste_next_and_indent", "V", "Control", "Shift" }, { "cut", "X", "Control" }, // NOTE(rjf): Lego { "f4_lego_buffer_place", "F1", }, { "f4_lego_buffer_place", "F2", }, { "f4_lego_buffer_place", "F3", }, { "f4_lego_buffer_place", "F4", }, // NOTE(rjf): Deletion { "delete_range", "D", "Control" }, { "delete_line", "D", "Control", "Shift" }, // NOTE(rjf): Insertion { "duplicate_line", "L", "Control" }, // NOTE(rjf): View { "center_view", "E", "Control" }, { "left_adjust_view", "E", "Control", "Shift" }, // NOTE(rjf): File { "kill_buffer", "K", "Control", "Shift" }, { "reopen", "O", "Alt", "Shift" }, { "save", "S", "Control" }, { "save_all_dirty_buffers", "S", "Control", "Shift" }, { "redo", "Y", "Control" }, { "undo", "Z", "Control" }, { "view_buffer_other_panel", "1", "Control" }, // NOTE(rjf): Meta { "swap_panels", "2", "Control" }, { "if_read_only_goto_position", "Return" }, { "if_read_only_goto_position_same_panel", "Return", "Shift" }, { "view_jump_list_with_lister", "Period", "Control", "Shift" }, // NOTE(rjf): Code Peek { "f4_code_peek", "Tick", "Alt" }, { "f4_code_peek_yank", "Tab", "Control" }, { "f4_code_peek_clear", "Shift", "Alt" }, // NOTE(rjf): Go To Def { "f4_go_to_definition", "Return", "Control" }, { "f4_go_to_definition_same_panel", "Return", "Control", "Shift" }, // NOTE(rjf): Helpers { "f4_write_zero_struct", "0", "Control" }, { "f4_toggle_enclosure_side", "Semicolon", "Alt" }, }; keys_code = { { "f4_comment_selection", "Semicolon", "Control" }, { "f4_uncomment_selection", "Semicolon", "Control", "Shift", }, { "f4_autocomplete_or_indent", "Tab" }, { "f4_unindent", "Tab", "Shift" }, { "word_complete_drop_down", "Tab", "Shift", "Control" }, { "write_block", "R", "Alt" }, { "write_todo", "T", "Alt" }, { "write_note", "Y", "Alt" }, { "list_all_locations_of_type_definition", "D", "Alt" }, { "list_all_locations_of_type_definition_of_identifier", "T", "Alt", "Shift" }, { "open_long_braces", "LeftBracket", "Control" }, { "open_long_braces_semicolon", "LeftBracket", "Control", "Shift" }, { "open_long_braces_break", "RightBracket", "Control", "Shift" }, { "select_surrounding_scope", "LeftBracket", "Alt" }, { "select_surrounding_scope_maximal", "LeftBracket", "Alt", "Shift" }, { "select_prev_scope_absolute", "RightBracket", "Alt" }, { "select_prev_top_most_scope", "RightBracket", "Alt", "Shift" }, { "select_next_scope_absolute", "Quote", "Alt" }, { "select_next_scope_after_current", "Quote", "Alt", "Shift" }, { "place_in_scope", "ForwardSlash", "Alt" }, { "delete_current_scope", "Minus", "Alt" }, { "if0_off", "I", "Alt" }, { "open_file_in_quotes", "1", "Alt" }, { "open_matching_file_cpp", "2", "Alt" }, { "f4_lego_store_range", "F5", "Alt" }, { "f4_lego_store_range", "F6", "Alt" }, { "f4_lego_store_range", "F7", "Alt" }, { "f4_lego_store_range", "F8", "Alt" }, { "f4_lego_store_token", "F5" }, { "f4_lego_store_token", "F6" }, { "f4_lego_store_token", "F7" }, { "f4_lego_store_token", "F8" }, };