523 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			523 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  [
 | ||
|     // since we assign Ctrl+Shift+V to clipboard manager, use paste / indent with default Ctrl+v
 | ||
|     { "keys": ["ctrl+v"], "command": "paste_and_indent" },
 | ||
| 
 | ||
|     //HACK: override the vertical column selections to use Ctrl+Shift in RDP
 | ||
|     { "keys": ["ctrl+shift+up"], "command": "select_lines", "args": {"forward": false} },
 | ||
|     { "keys": ["ctrl+shift+down"], "command": "select_lines", "args": {"forward": true} },
 | ||
| 
 | ||
|     //HACK: restore default shift+tab keybindings because SmartMarkdown messes with them too much
 | ||
|     { "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 }
 | ||
|         ]
 | ||
|     },
 | ||
| 
 | ||
|     //Abacus - https://github.com/khiltd/Abacus
 | ||
|     { "keys": ["ctrl+alt+\\"], "command": "abacus" },
 | ||
| 
 | ||
|     // Bracketeer - https://github.com/colinta/SublimeBracketeer
 | ||
|     { "keys": ["super+]"], "command": "bracketeer_indent" },
 | ||
|     { "keys": ["ctrl+shift+["], "command": "bracketeer_select" },
 | ||
|     { "keys": ["ctrl+["], "command": "bracketeer_goto", "args": { "goto": "left" } },
 | ||
|     { "keys": ["ctrl+]"], "command": "bracketeer_goto", "args": { "goto": "right" } },
 | ||
|     { "keys": ["ctrl+alt+["], "command": "bracketeer_goto", "args": { "goto": "both" } },
 | ||
|     { "keys": ["ctrl+alt+]"], "command": "bracketeer_goto", "args": { "goto": "both" } },
 | ||
|     //|
 | ||
|     //|  BRACKETEER
 | ||
|     //|
 | ||
|     { "keys": ["{"], "command": "bracketeer", "args": { "braces": "{}", "unindent": true } },
 | ||
|     { "keys": ["}"], "command": "bracketeer", "args": { "braces": "{}", "pressed": "}", "unindent": true } },
 | ||
|     { "keys": ["["], "command": "bracketeer", "args": { "braces": "[]" } },
 | ||
|     { "keys": ["]"], "command": "bracketeer", "args": { "braces": "[]", "pressed": "]" } },
 | ||
|     { "keys": ["("], "command": "bracketeer", "args": { "braces": "()" } },
 | ||
|     { "keys": [")"], "command": "bracketeer", "args": { "braces": "()", "pressed": ")" } },
 | ||
|     //|  reStructured Text
 | ||
|     { "keys": ["alt+`"], "command": "bracketeer", "args": { "braces": "````", "pressed": "``" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "text.restructuredtext" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["*"], "command": "bracketeer", "args": { "braces": "**", "pressed": "*" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "text.restructuredtext" }
 | ||
|         ]
 | ||
|     },
 | ||
|     //|  DJANGO CURLIES
 | ||
|     // For django, liquid, jinja.  All the grammars *I* have list 'source.smarty' as
 | ||
|     // when the cursor is inside "{}"s
 | ||
|     { "keys": ["{"], "command": "bracketeer", "args": { "braces": "{  }" }, "context":
 | ||
|         [{ "key": "selector", "operator": "equal", "operand": "source.smarty" }]
 | ||
|     },
 | ||
|     { "keys": ["{"], "command": "bracketeer", "args": { "braces": "{  }" }, "context":
 | ||
|         [{ "key": "selector", "operator": "equal", "operand": "meta.brace.curly" }]
 | ||
|     },
 | ||
|     { "keys": ["%"], "command": "bracketeer", "args": { "braces": "%  %" }, "context":
 | ||
|         [{ "key": "selector", "operator": "equal", "operand": "source.smarty" }]
 | ||
|     },
 | ||
|     { "keys": ["%"], "command": "bracketeer", "args": { "braces": "%  %" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "meta.brace.curly" },
 | ||
|             { "key": "preceding_text", "operator": "regex_contains", "operand": "<$", "match_all": true }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["%"], "command": "insert_snippet", "args": { "contents": " $1 %>$0" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "source.ruby" },
 | ||
|             { "key": "preceding_text", "operator": "regex_contains", "operand": "<%$", "match_all": true }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": [">"], "command": "insert_snippet", "args": { "contents": ">$1<% $0" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "source.ruby" },
 | ||
|             { "key": "preceding_text", "operator": "regex_contains", "operand": "%$", "match_all": true }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["="], "command": "insert_snippet", "args": { "contents": "= $1 %>$0" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "source.ruby" },
 | ||
|             { "key": "preceding_text", "operator": "regex_contains", "operand": "<%$", "match_all": true }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["-"], "command": "insert_snippet", "args": { "contents": "- $1 %>$0" }, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "source.ruby" },
 | ||
|             { "key": "preceding_text", "operator": "regex_contains", "operand": "<%$", "match_all": true }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["#"], "command": "bracketeer", "args": { "braces": "#  #" }, "context":
 | ||
|         [{ "key": "selector", "operator": "equal", "operand": "source.smarty" }]
 | ||
|     },
 | ||
|     //|  QUOTES
 | ||
|     { "keys": ["\""], "command": "bracketeer", "args": { "braces": "\"\"", "pressed": "\"" } },
 | ||
|     { "keys": ["ctrl+'","ctrl+'"], "command": "bracketeer", "args": { "braces": "\"\"\"\n\n\"\"\"" } },
 | ||
|     { "keys": ["'"], "command": "bracketeer", "args": { "braces": "''", "pressed": "'" } },
 | ||
|     { "keys": ["ctrl+'","'"], "command": "bracketeer", "args": { "braces": "'''\n\n'''" } },
 | ||
|     { "keys": ["`"], "command": "bracketeer", "args": { "braces": "``", "pressed": "`" } },
 | ||
|     { "keys": ["ctrl+'","`"], "command": "insert_snippet", "args": { "contents": "```${1:syntax}\n$0\n```" } },
 | ||
|     { "keys": ["«"], "command": "bracketeer", "args": { "braces": "«»" } },
 | ||
|     { "keys": ["»"], "command": "bracketeer", "args": { "braces": "«»", "pressed": "»" } },
 | ||
|     { "keys": ["‹"], "command": "bracketeer", "args": { "braces": "‹›" } },
 | ||
|     { "keys": ["›"], "command": "bracketeer", "args": { "braces": "‹›", "pressed": "›" } },
 | ||
|     { "keys": ["“"], "command": "bracketeer", "args": { "braces": "“”" } },
 | ||
|     { "keys": ["”"], "command": "bracketeer", "args": { "braces": "“”", "pressed": "”" }  },
 | ||
|     { "keys": ["‘"], "command": "bracketeer", "args": { "braces": "‘’" } },
 | ||
|     { "keys": ["’"], "command": "bracketeer", "args": { "braces": "‘’", "pressed": "’" } },
 | ||
|     //|
 | ||
|     //|  AUTO DELETE MATCHING '', "", [], etc.
 | ||
|     //|
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "\"$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^\"" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "'$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^'" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "`$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^`" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "«$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^»" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "‹$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^›" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "“$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^”" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "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": "‘$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^’" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Left Right.sublime-macro"}, "context":
 | ||
|         [
 | ||
|             { "key": "selector", "operator": "equal", "operand": "text.restructuredtext" },
 | ||
|             { "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": "\\*$" },
 | ||
|             { "key": "following_text", "operator": "regex_contains", "operand": "^\\*" }
 | ||
|         ]
 | ||
|     },
 | ||
|     //|
 | ||
|     //|  Bracket and select
 | ||
|     //|
 | ||
|     { "keys": ["ctrl+alt+[", "backspace"], "command": "bracketeer", "args": { "braces": "", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "{"], "command": "bracketeer", "args": { "braces": "{}", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "{"], "command": "bracketeer", "args": { "braces": "{}", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", " "], "command": "bracketeer", "args": { "braces": "  ", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", " "], "command": "bracketeer", "args": { "braces": "  ", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "["], "command": "bracketeer", "args": { "braces": "[]", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "["], "command": "bracketeer", "args": { "braces": "[]", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "("], "command": "bracketeer", "args": { "braces": "()", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "("], "command": "bracketeer", "args": { "braces": "()", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "\""], "command": "bracketeer", "args": { "braces": "\"\"", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "\""], "command": "bracketeer", "args": { "braces": "\"\"", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "ctrl+shift+'"], "command": "bracketeer", "args": { "braces": "\"\"\"\"\"\"", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "ctrl+shift+'"], "command": "bracketeer", "args": { "braces": "\"\"\"\"\"\"", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "'"], "command": "bracketeer", "args": { "braces": "''", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "'"], "command": "bracketeer", "args": { "braces": "''", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "ctrl+'"], "command": "bracketeer", "args": { "braces": "''''''", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "ctrl+'"], "command": "bracketeer", "args": { "braces": "''''''", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "`"], "command": "bracketeer", "args": { "braces": "``", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "`"], "command": "bracketeer", "args": { "braces": "``", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "ctrl+`"], "command": "bracketeer", "args": { "braces": "``````", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "ctrl+`"], "command": "bracketeer", "args": { "braces": "``````", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "«"], "command": "bracketeer", "args": { "braces": "«»", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "«"], "command": "bracketeer", "args": { "braces": "«»", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "‹"], "command": "bracketeer", "args": { "braces": "‹›", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "‹"], "command": "bracketeer", "args": { "braces": "‹›", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "“"], "command": "bracketeer", "args": { "braces": "“”", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "“"], "command": "bracketeer", "args": { "braces": "“”", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "‘"], "command": "bracketeer", "args": { "braces": "‘’", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "‘"], "command": "bracketeer", "args": { "braces": "‘’", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "alt+`"], "command": "bracketeer", "args": { "braces": "````", "select": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "alt+`"], "command": "bracketeer", "args": { "braces": "````", "select": true, "replace": true }, "context":
 | ||
|         [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+[", "*"], "command": "bracketeer", "args": { "braces": "**", "select": true }, "context":
 | ||
|         [
 | ||
|             { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
 | ||
|             { "key": "selector", "operator": "equal", "operand": "text.restructuredtext" }
 | ||
|         ]
 | ||
|     },
 | ||
|     { "keys": ["ctrl+alt+[", "*"], "command": "bracketeer", "args": { "braces": "**", "select": true, "replace": true }, "context":
 | ||
|         [
 | ||
|             { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
 | ||
|             { "key": "selector", "operator": "equal", "operand": "text.restructuredtext" }
 | ||
|         ]
 | ||
|     },
 | ||
| 
 | ||
|     //BracketHighlighter - https://github.com/facelessuser/BracketHighlighter/
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b", "ctrl+shift+b"], "command": "bracket_highlighter_key",
 | ||
|         "args": {"lines": true}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["alt+up"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "lines" : true,
 | ||
|             "plugin":
 | ||
|             {
 | ||
|                 "type": ["quote","bracket","tag"],
 | ||
|                 "command": "bracket_plugins.select_bracket",
 | ||
|                 "args": {"select": "left"}
 | ||
|             }
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["alt+down"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "lines" : true,
 | ||
|             "plugin":
 | ||
|             {
 | ||
|                 "type": ["quote","bracket","tag"],
 | ||
|                 "command": "bracket_plugins.select_bracket",
 | ||
|                 "args": {"select": "right"}
 | ||
|             }
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+s"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "lines" : true,
 | ||
|             "plugin":
 | ||
|             {
 | ||
|                 "type": ["quote","bracket","tag"],
 | ||
|                 "command": "bracket_plugins.select_bracket"
 | ||
|             }
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+t"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "ignore": ["quote"],
 | ||
|             "plugin":
 | ||
|             {
 | ||
|                 "type": ["tag"],
 | ||
|                 "command": "bracket_plugins.select_tag"
 | ||
|             }
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+n"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "ignore": ["quote"],
 | ||
|             "plugin":
 | ||
|             {
 | ||
|                 "type": ["tag"],
 | ||
|                 "command": "bracket_plugins.select_attr",
 | ||
|                 "args": {"direction": "right"}
 | ||
|             }
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+q"], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "plugin": {"type": ["quote"],"command" : "bracket_plugins.swap_quotes"}
 | ||
|         }
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+j"], "command": "swap_brackets"
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+b","ctrl+shift+["], "command": "bracket_highlighter_key",
 | ||
|         "args":
 | ||
|         {
 | ||
|             "plugin": {"type": ["quote", "tag", "bracket"],"command" : "bracket_plugins.fold_bracket"}
 | ||
|         }
 | ||
|     },
 | ||
| 
 | ||
|     // ClipboardManager - https://github.com/colinta/SublimeClipboardManager
 | ||
|     { "keys": ["ctrl+x"], "command": "clipboard_manager_cut" },
 | ||
|     { "keys": ["ctrl+c"], "command": "clipboard_manager_copy" },
 | ||
|     { "keys": ["ctrl+v"], "command": "clipboard_manager_paste", "args": { "indent": true } },
 | ||
|     { "keys": ["ctrl+alt+v"], "command": "clipboard_manager_next_and_paste" },
 | ||
|     { "keys": ["ctrl+shift+alt+v"], "command": "clipboard_manager_previous_and_paste" },
 | ||
|     //{ "keys": ["ctrl+pageup"], "command": "clipboard_manager_next" },
 | ||
|     //{ "keys": ["ctrl+pagedown"], "command": "clipboard_manager_previous" },
 | ||
|     //{ "keys": ["ctrl+home"], "command": "clipboard_manager_show" },
 | ||
|     { "keys": ["ctrl+shift+v"], "command": "clipboard_manager_choose_and_paste" },
 | ||
| 
 | ||
|     // EasyMotion - https://github.com/tednaleid/sublime-EasyMotion
 | ||
|     {
 | ||
|         "keys": ["ctrl+.", "<character>"],
 | ||
|         "command": "easy_motion", "args": {"select_text": false}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+.", "enter"],
 | ||
|         "command": "easy_motion", "args": {"select_text": false, "character": "enter"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+.", "<character>"],
 | ||
|         "command": "easy_motion", "args": {"select_text": true}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["ctrl+shift+.", "enter"],
 | ||
|         "command": "easy_motion", "args": {"select_text": true, "character": "enter"}
 | ||
|     },
 | ||
| 
 | ||
|     // ExportHTML - https://github.com/facelessuser/ExportHtml
 | ||
|     // use defaults
 | ||
| 
 | ||
|     // FileDiffs - https://github.com/colinta/SublimeFileDiffs
 | ||
|     { "keys": ["ctrl+shift+d"], "command": "file_diff_menu" },
 | ||
| 
 | ||
|     // MarkDown Preview - https://github.com/revolunet/sublimetext-markdown-preview
 | ||
|     { "keys": ["ctrl+alt+m"], "command": "markdown_preview", "args": {"target": "browser"} },
 | ||
| 
 | ||
|     // Smart Markdown - https://github.com/demon386/SmartMarkdown
 | ||
|     // accept all the defaults for building lists and tables
 | ||
|     { "keys": ["tab"], "command": "smart_folding", "context":
 | ||
|       [{ "key": "selector", "operator": "equal", "operand": "markup.heading.markdown" }]
 | ||
|     },
 | ||
|     { "keys": ["enter"], "command": "smart_list", "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*([-+\\**]|\\d+\\.+)\\s+" }
 | ||
|     ]},
 | ||
|     { "keys": ["enter"], "command": "smart_list", "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "selector", "operator": "equal", "operand": "markup.list" }
 | ||
|     ]},
 | ||
|     { "keys": ["tab"], "command": "smart_table", "args": {"forward": true}, "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\||\\+[-=])", "match_all": true}
 | ||
|     ]},
 | ||
|     { "keys": ["tab"], "command": "smart_table", "args": {"forward": true}, "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*" },
 | ||
|       { "key": "following_text", "operator": "regex_contains", "operand": "\\s*(\\||\\+[-=])", "match_all": true}
 | ||
|     ]},
 | ||
|     { "keys": ["shift+tab"], "command": "smart_table", "args": {"forward": false}, "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\||\\+[-=])",
 | ||
|     "match_all": true}
 | ||
|     ]},
 | ||
|     { "keys": ["shift+tab"], "command": "smart_table", "args": {"forward": false}, "context": [
 | ||
|       { "key": "selector", "operator": "equal", "operand": "text.html.markdown" },
 | ||
|       { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*" },
 | ||
|       { "key": "following_text", "operator": "regex_contains", "operand": "\\s*(\\||\\+[-=])", "match_all": true}
 | ||
|     ]},
 | ||
|     {
 | ||
|     "keys": ["super+shift+."], "command": "change_heading_level", "args": {"up": true}, "context": [
 | ||
|       {"key": "selector", "operator": "equal", "operand": "text.html.markdown"}
 | ||
|     ]},
 | ||
|     {
 | ||
|     "keys": ["super+shift+,"], "command": "change_heading_level", "args": {"up": false}, "context": [
 | ||
|       {"key": "selector", "operator": "equal", "operand": "text.html.markdown"}
 | ||
|     ]},
 | ||
| 
 | ||
|     //Sublime Text 2 - Related Files - https://github.com/fabiokr/sublime-related-files
 | ||
|     { "keys": ["ctrl+alt+t"], "command": "related_files" },
 | ||
| 
 | ||
|     //SublimeTODO - https://github.com/robcowie/SublimeTODO
 | ||
|     // {
 | ||
|     //    "keys": ["n"], "command": "goto_next_result",
 | ||
|     //     "context": [{ "key": "setting.todo_results", "operator": "equal", "operand": true }]
 | ||
|     // }
 | ||
|     {
 | ||
|         "keys": ["n"], "command": "navigate_results",
 | ||
|         //// {"key": "setting.todo_results"}
 | ||
|         "context": [ {"key": "setting.command_mode", "operand": true}],
 | ||
|         "args": {"direction": "forward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["down"], "command": "navigate_results",
 | ||
|         // {"key": "setting.todo_results"}
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}],
 | ||
|         "args": {"direction": "forward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["j"], "command": "navigate_results",
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}],
 | ||
|         // {"key": "setting.todo_results"}
 | ||
|         "args": {"direction": "forward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["p"], "command": "navigate_results",
 | ||
|         // {"key": "setting.todo_results"}
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}],
 | ||
|         "args": {"direction": "backward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["up"], "command": "navigate_results",
 | ||
|         //{"key": "setting.todo_results"}
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}],
 | ||
|         "args": {"direction": "backward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["k"], "command": "navigate_results",
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}],
 | ||
|         //{"key": "setting.todo_results"}
 | ||
|         "args": {"direction": "backward"}
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["c"], "command": "clear_selection",
 | ||
|         // {"key": "setting.todo_results"}
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}]
 | ||
|     },
 | ||
|     {
 | ||
|         "keys": ["enter"], "command": "goto_comment",
 | ||
|         // {"key": "setting.todo_results"}
 | ||
|         "context": [{"key": "setting.command_mode", "operand": true}]
 | ||
|     },
 | ||
| 
 | ||
|     //Snippet Browsing Keybindings
 | ||
|     { "keys": ["shift+f1"], "command": "show_overlay",
 | ||
|         "args": {"overlay": "command_palette", "text": "snippet"} }
 | ||
| ]
 |