From 26bb9547ac69a470339465df732ae1c7dec5e476 Mon Sep 17 00:00:00 2001 From: Ryan Reaves Date: Tue, 13 Aug 2019 01:21:15 -0500 Subject: [PATCH 1/2] - Added original sublime-text3 keybinds --- .../sublime-text3/linux.sublime-keybinds.org | 734 ++++++++++++++++++ .../sublime-text3/mac.sublime-keybinds.json | 706 +++++++++++++++++ 2 files changed, 1440 insertions(+) create mode 100644 app-configs/sublime-text3/linux.sublime-keybinds.org create mode 100644 app-configs/sublime-text3/mac.sublime-keybinds.json diff --git a/app-configs/sublime-text3/linux.sublime-keybinds.org b/app-configs/sublime-text3/linux.sublime-keybinds.org new file mode 100644 index 0000000..9c8605e --- /dev/null +++ b/app-configs/sublime-text3/linux.sublime-keybinds.org @@ -0,0 +1,734 @@ +[ + { "keys": ["ctrl+q"], "command": "exit" }, + + { "keys": ["ctrl+shift+n"], "command": "new_window" }, + { "keys": ["ctrl+shift+w"], "command": "close_window" }, + { "keys": ["ctrl+o"], "command": "prompt_open_file" }, + { "keys": ["ctrl+shift+t"], "command": "reopen_last_file" }, + { "keys": ["alt+o"], "command": "switch_file", "args": {"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]} }, + { "keys": ["ctrl+n"], "command": "new_file" }, + { "keys": ["ctrl+s"], "command": "save" }, + { "keys": ["ctrl+shift+s"], "command": "prompt_save_as" }, + { "keys": ["ctrl+f4"], "command": "close_file" }, + { "keys": ["ctrl+w"], "command": "close" }, + + { "keys": ["ctrl+k", "ctrl+b"], "command": "toggle_side_bar" }, + { "keys": ["f11"], "command": "toggle_full_screen" }, + { "keys": ["shift+f11"], "command": "toggle_distraction_free" }, + + { "keys": ["backspace"], "command": "left_delete" }, + { "keys": ["shift+backspace"], "command": "left_delete" }, + { "keys": ["ctrl+shift+backspace"], "command": "left_delete" }, + { "keys": ["delete"], "command": "right_delete" }, + { "keys": ["enter"], "command": "insert", "args": {"characters": "\n"} }, + { "keys": ["shift+enter"], "command": "insert", "args": {"characters": "\n"} }, + { "keys": ["keypad_enter"], "command": "insert", "args": {"characters": "\n"} }, + { "keys": ["shift+keypad_enter"], "command": "insert", "args": {"characters": "\n"} }, + + { "keys": ["ctrl+z"], "command": "undo" }, + { "keys": ["ctrl+shift+z"], "command": "redo" }, + { "keys": ["ctrl+y"], "command": "redo_or_repeat" }, + { "keys": ["ctrl+u"], "command": "soft_undo" }, + { "keys": ["ctrl+shift+u"], "command": "soft_redo" }, + + { "keys": ["shift+delete"], "command": "cut" }, + { "keys": ["ctrl+insert"], "command": "copy" }, + { "keys": ["shift+insert"], "command": "paste" }, + + // These two key bindings should replace the above three if you'd prefer + // the traditional X11 behavior of shift+insert pasting from the primary + // selection. The above CUA keys are the default, to match most GTK + // applications. + //{ "keys": ["shift+insert"], "command": "paste", "args": {"clipboard": "selection"} }, + //{ "keys": ["shift+delete"], "command": "right_delete" }, + + { "keys": ["ctrl+x"], "command": "cut" }, + { "keys": ["ctrl+c"], "command": "copy" }, + { "keys": ["ctrl+v"], "command": "paste" }, + { "keys": ["ctrl+shift+v"], "command": "paste_and_indent" }, + { "keys": ["ctrl+k", "ctrl+v"], "command": "paste_from_history" }, + + { "keys": ["left"], "command": "move", "args": {"by": "characters", "forward": false} }, + { "keys": ["right"], "command": "move", "args": {"by": "characters", "forward": true} }, + { "keys": ["up"], "command": "move", "args": {"by": "lines", "forward": false} }, + { "keys": ["down"], "command": "move", "args": {"by": "lines", "forward": true} }, + { "keys": ["shift+left"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} }, + { "keys": ["shift+right"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} }, + { "keys": ["shift+up"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true} }, + { "keys": ["shift+down"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true} }, + + { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, + { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, + { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, + { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, + + { "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, + { "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} }, + { "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} }, + { "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, + + { "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} }, + { "keys": ["alt+shift+down"], "command": "select_lines", "args": {"forward": true} }, + + { "keys": ["pageup"], "command": "move", "args": {"by": "pages", "forward": false} }, + { "keys": ["pagedown"], "command": "move", "args": {"by": "pages", "forward": true} }, + { "keys": ["shift+pageup"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true} }, + { "keys": ["shift+pagedown"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true} }, + + { "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": false} }, + { "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": false} }, + { "keys": ["shift+home"], "command": "move_to", "args": {"to": "bol", "extend": true} }, + { "keys": ["shift+end"], "command": "move_to", "args": {"to": "eol", "extend": true} }, + { "keys": ["ctrl+home"], "command": "move_to", "args": {"to": "bof", "extend": false} }, + { "keys": ["ctrl+end"], "command": "move_to", "args": {"to": "eof", "extend": false} }, + { "keys": ["ctrl+shift+home"], "command": "move_to", "args": {"to": "bof", "extend": true} }, + { "keys": ["ctrl+shift+end"], "command": "move_to", "args": {"to": "eof", "extend": true} }, + + { "keys": ["ctrl+up"], "command": "scroll_lines", "args": {"amount": 1.0 } }, + { "keys": ["ctrl+down"], "command": "scroll_lines", "args": {"amount": -1.0 } }, + + { "keys": ["ctrl+pagedown"], "command": "next_view" }, + { "keys": ["ctrl+pageup"], "command": "prev_view" }, + + { "keys": ["ctrl+tab"], "command": "next_view_in_stack" }, + { "keys": ["ctrl+shift+tab"], "command": "prev_view_in_stack" }, + + { "keys": ["ctrl+a"], "command": "select_all" }, + { "keys": ["ctrl+shift+l"], "command": "split_selection_into_lines" }, + { "keys": ["escape"], "command": "single_selection", "context": + [ + { "key": "num_selections", "operator": "not_equal", "operand": 1 } + ] + }, + { "keys": ["escape"], "command": "clear_fields", "context": + [ + { "key": "has_next_field", "operator": "equal", "operand": true } + ] + }, + { "keys": ["escape"], "command": "clear_fields", "context": + [ + { "key": "has_prev_field", "operator": "equal", "operand": true } + ] + }, + { "keys": ["escape"], "command": "hide_panel", "args": {"cancel": true}, + "context": + [ + { "key": "panel_visible", "operator": "equal", "operand": true } + ] + }, + { "keys": ["escape"], "command": "hide_overlay", "context": + [ + { "key": "overlay_visible", "operator": "equal", "operand": true } + ] + }, + { "keys": ["escape"], "command": "hide_popup", "context": + [ + { "key": "popup_visible", "operator": "equal", "operand": true } + ] + }, + { "keys": ["escape"], "command": "hide_auto_complete", "context": + [ + { "key": "auto_complete_visible", "operator": "equal", "operand": true } + ] + }, + + { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} }, + { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": false}, + "context": + [ + { "key": "setting.tab_completion", "operator": "equal", "operand": true }, + { "key": "preceding_text", "operator": "not_regex_match", "operand": ".*\\b[0-9]+$", "match_all": true }, + ] + }, + { "keys": ["tab"], "command": "replace_completion_with_next_completion", "context": + [ + { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, + { "key": "setting.tab_completion", "operator": "equal", "operand": true } + ] + }, + { "keys": ["tab"], "command": "reindent", "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true }, + { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true } + ] + }, + { "keys": ["tab"], "command": "indent", "context": + [ + { "key": "text", "operator": "regex_contains", "operand": "\n" } + ] + }, + { "keys": ["tab"], "command": "next_field", "context": + [ + { "key": "has_next_field", "operator": "equal", "operand": true } + ] + }, + { "keys": ["tab"], "command": "commit_completion", "context": + [ + { "key": "auto_complete_visible" }, + { "key": "setting.auto_complete_commit_on_tab" } + ] + }, + + { "keys": ["shift+tab"], "command": "insert", "args": {"characters": "\t"} }, + { "keys": ["shift+tab"], "command": "unindent", "context": + [ + { "key": "setting.shift_tab_unindent", "operator": "equal", "operand": true } + ] + }, + { "keys": ["shift+tab"], "command": "unindent", "context": + [ + { "key": "preceding_text", "operator": "regex_match", "operand": "^[\t ]*" } + ] + }, + { "keys": ["shift+tab"], "command": "unindent", "context": + [ + { "key": "text", "operator": "regex_contains", "operand": "\n" } + ] + }, + { "keys": ["shift+tab"], "command": "prev_field", "context": + [ + { "key": "has_prev_field", "operator": "equal", "operand": true } + ] + }, + + { "keys": ["ctrl+]"], "command": "indent" }, + { "keys": ["ctrl+["], "command": "unindent" }, + + { "keys": ["insert"], "command": "toggle_overwrite" }, + + { "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} }, + { "keys": ["ctrl+d"], "command": "find_under_expand" }, + { "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }, + { "keys": ["ctrl+shift+space"], "command": "expand_selection", "args": {"to": "scope"} }, + { "keys": ["ctrl+shift+m"], "command": "expand_selection", "args": {"to": "brackets"} }, + { "keys": ["ctrl+m"], "command": "move_to", "args": {"to": "brackets"} }, + { "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} }, + { "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} }, + + { "keys": ["alt+."], "command": "close_tag" }, + + { "keys": ["ctrl+alt+q"], "command": "toggle_record_macro" }, + { "keys": ["ctrl+alt+shift+q"], "command": "run_macro" }, + + { "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} }, + { "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line Before.sublime-macro"} }, + { "keys": ["enter"], "command": "commit_completion", "context": + [ + { "key": "auto_complete_visible" }, + { "key": "setting.auto_complete_commit_on_tab", "operand": false } + ] + }, + + { "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, + { "keys": ["ctrl+shift+p"], "command": "show_overlay", "args": {"overlay": "command_palette"} }, + { "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace" }, + { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, + { "keys": ["ctrl+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, + { "keys": ["ctrl+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} }, + { "keys": ["f12"], "command": "goto_definition" }, + { "keys": ["shift+f12"], "command": "goto_reference" }, + { "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" }, + { "keys": ["alt+-"], "command": "jump_back" }, + { "keys": ["alt+shift+-"], "command": "jump_forward" }, + { "keys": ["alt+keypad_minus"], "command": "jump_back" }, + { "keys": ["alt+shift+keypad_minus"], "command": "jump_forward" }, + + { "keys": ["ctrl+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": false} }, + { "keys": ["ctrl+shift+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": true} }, + { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "find", "reverse": false} }, + { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "replace", "reverse": false} }, + { "keys": ["ctrl+shift+h"], "command": "replace_next" }, + { "keys": ["f3"], "command": "find_next" }, + { "keys": ["shift+f3"], "command": "find_prev" }, + { "keys": ["ctrl+f3"], "command": "find_under" }, + { "keys": ["ctrl+shift+f3"], "command": "find_under_prev" }, + { "keys": ["alt+f3"], "command": "find_all_under" }, + { "keys": ["ctrl+e"], "command": "slurp_find_string" }, + { "keys": ["ctrl+shift+e"], "command": "slurp_replace_string" }, + { "keys": ["ctrl+shift+f"], "command": "show_panel", "args": {"panel": "find_in_files"} }, + { "keys": ["f4"], "command": "next_result" }, + { "keys": ["shift+f4"], "command": "prev_result" }, + + { "keys": ["f6"], "command": "toggle_setting", "args": {"setting": "spell_check"} }, + { "keys": ["ctrl+f6"], "command": "next_misspelling" }, + { "keys": ["ctrl+shift+f6"], "command": "prev_misspelling" }, + + { "keys": ["ctrl+shift+up"], "command": "swap_line_up" }, + { "keys": ["ctrl+shift+down"], "command": "swap_line_down" }, + + { "keys": ["ctrl+backspace"], "command": "delete_word", "args": { "forward": false } }, + { "keys": ["ctrl+shift+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, + + { "keys": ["ctrl+delete"], "command": "delete_word", "args": { "forward": true } }, + { "keys": ["ctrl+shift+delete"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, + + { "keys": ["ctrl+/"], "command": "toggle_comment", "args": { "block": false } }, + { "keys": ["ctrl+shift+/"], "command": "toggle_comment", "args": { "block": true } }, + + { "keys": ["ctrl+j"], "command": "join_lines" }, + { "keys": ["ctrl+shift+d"], "command": "duplicate_line" }, + + { "keys": ["ctrl+`"], "command": "show_panel", "args": {"panel": "console", "toggle": true} }, + + { "keys": ["alt+/"], "command": "auto_complete" }, + { "keys": ["alt+/"], "command": "replace_completion_with_auto_complete", "context": + [ + { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, + { "key": "auto_complete_visible", "operator": "equal", "operand": false }, + { "key": "setting.tab_completion", "operator": "equal", "operand": true } + ] + }, + + { "keys": ["ctrl+alt+shift+p"], "command": "show_scope_name" }, + + { "keys": ["f7"], "command": "build" }, + { "keys": ["ctrl+b"], "command": "build" }, + { "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} }, + { "keys": ["ctrl+break"], "command": "cancel_build" }, + + { "keys": ["ctrl+t"], "command": "transpose" }, + + { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} }, + { "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} }, + + // Auto-pair quotes + { "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"$0\""}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }, + { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[\"a-zA-Z0-9_]$", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true } + ] + }, + { "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"${0:$SELECTION}\""}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["\""], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }, + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\"$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }, + ] + }, + + // Auto-pair single quotes + { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }, + { "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true } + ] + }, + { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }, + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "'$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }, + ] + }, + + // Auto-pair brackets + { "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true } + ] + }, + { "keys": ["("], "command": "insert_snippet", "args": {"contents": "(${0:$SELECTION})"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\($", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true } + ] + }, + + // Auto-pair square brackets + { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[$0]"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true } + ] + }, + { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[${0:$SELECTION}]"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["]"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\[$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true } + ] + }, + + // Auto-pair curly brackets + { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{$0}"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|$)", "match_all": true } + ] + }, + { "keys": ["{"], "command": "wrap_block", "args": {"begin": "{", "end": "}"}, "context": + [ + { "key": "indented_block", "match_all": true }, + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true }, + ] + }, + { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{${0:$SELECTION}}"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["}"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + + { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + + { "keys": ["enter"], "command": "auto_indent_tag", "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "punctuation.definition.tag.begin", "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": ">$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^|$)", "match_all": true }, + { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[\"a-zA-Z0-9_]$", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true } + ] + }, + { "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"${0:$SELECTION}\""}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["\""], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }, + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\"$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }, + ] + }, + + // Auto-pair single quotes + { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }, + { "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true } + ] + }, + { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }, + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "'$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, + { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, + { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }, + ] + }, + + // Auto-pair brackets + { "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true } + ] + }, + { "keys": ["("], "command": "insert_snippet", "args": {"contents": "(${0:$SELECTION})"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\($", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true } + ] + }, + + // Auto-pair square brackets + { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[$0]"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true } + ] + }, + { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[${0:$SELECTION}]"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["]"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\[$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true } + ] + }, + + // Auto-pair curly brackets + { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{$0}"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|$)", "match_all": true } + ] + }, + { "keys": ["{"], "command": "wrap_block", "args": {"begin": "{", "end": "}"}, "context": + [ + { "key": "indented_block", "match_all": true }, + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true }, + ] + }, + { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{${0:$SELECTION}}"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } + ] + }, + { "keys": ["}"], "command": "move", "args": {"by": "characters", "forward": true}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": + [ + { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + + { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true } + ] + }, + + { "keys": ["enter"], "command": "auto_indent_tag", "context": + [ + { "key": "setting.auto_indent", "operator": "equal", "operand": true }, + { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, + { "key": "selector", "operator": "equal", "operand": "punctuation.definition.tag.begin", "match_all": true }, + { "key": "preceding_text", "operator": "regex_contains", "operand": ">$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^$", "match_all": true }, + { "key": "following_text", "operator": "regex_contains", "operand": "^ Date: Tue, 13 Aug 2019 11:47:25 -0500 Subject: [PATCH 2/2] - Corrected chromebook and mac keymap references, mac_term is not currently ready for active use for master or dev. --- chromebook.sh | 2 +- keyswap_service.sh | 1 + mac_only.sh | 2 +- mac_wordwise.sh | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/chromebook.sh b/chromebook.sh index 637f3f6..3bd9c51 100755 --- a/chromebook.sh +++ b/chromebook.sh @@ -13,4 +13,4 @@ line=$(cat ~/.xkb/keymap/kbd.chromebook.gui | grep -n 'xkb_types' | cut -f1 -d:) sed -ie "${line}s/\"/+mac_gui(addmac_levels)\"/2" ~/.xkb/keymap/kbd.chromebook.gui sleep 1 line=$(cat ~/.xkb/keymap/kbd.chromebook.term | grep -n 'xkb_symbols' | cut -f1 -d:) -sed -ie "${line}s/\"/+altwin(swap_alt_win)+mac_gui(mac_levelssym)\"/2" ~/.xkb/keymap/kbd.chromebook.term +sed -ie "${line}s/\"/+altwin(swap_alt_win)\"/2" ~/.xkb/keymap/kbd.chromebook.term diff --git a/keyswap_service.sh b/keyswap_service.sh index 0506103..12900d4 100755 --- a/keyswap_service.sh +++ b/keyswap_service.sh @@ -11,6 +11,7 @@ chromeswap=$6 if [[ "$swapbehavior" == "1" ]]; then swapcmd="\/bin\/bash\ \/home\/`whoami`\/.config\/xactive.sh\ ${systemtype}\ ${internalid}\ ${usbid}\ ${chromeswap}" mkdir -p ~/.config/systemd/user + mkdir -p ~/.config/autostart cp ./system-config/keyswap.service ~/.config/systemd/user/keyswap.service cp ./system-config/keyswap.sh ~/.config/autostart/keyswap.sh cp ./system-config/xactive.sh ~/.config/xactive.sh diff --git a/mac_only.sh b/mac_only.sh index bb6668f..e10aead 100755 --- a/mac_only.sh +++ b/mac_only.sh @@ -12,4 +12,4 @@ line=$(cat ~/.xkb/keymap/kbd.mac.gui | grep -n 'xkb_types' | cut -f1 -d:) sed -ie "${line}s/\"/+mac_gui(addmac_levels)\"/2" ~/.xkb/keymap/kbd.mac.gui sleep 1 line=$(cat ~/.xkb/keymap/kbd.mac.term | grep -n 'xkb_symbols' | cut -f1 -d:) -sed -ie "${line}s/\"/+altwin(alt_super_win)+mac_gui(mac_levelssym)\"/2" ~/.xkb/keymap/kbd.mac.term +sed -ie "${line}s/\"/+altwin(alt_super_win)\"/2" ~/.xkb/keymap/kbd.mac.term diff --git a/mac_wordwise.sh b/mac_wordwise.sh index daad377..0ae1730 100755 --- a/mac_wordwise.sh +++ b/mac_wordwise.sh @@ -12,4 +12,4 @@ line=$(cat ~/.xkb/keymap/kbd.mac.gui | grep -n 'xkb_types' | cut -f1 -d:) sed -ie "${line}s/\"/+mac_gui(addmac_levels)\"/2" ~/.xkb/keymap/kbd.mac.gui sleep 1 line=$(cat ~/.xkb/keymap/kbd.mac.term | grep -n 'xkb_symbols' | cut -f1 -d:) -sed -ie "${line}s/\"/+altwin(swap_alt_win)+mac_term(mac_levelssym)\"/2" ~/.xkb/keymap/kbd.mac.term +sed -ie "${line}s/\"/+altwin(swap_alt_win)\"/2" ~/.xkb/keymap/kbd.mac.term