247 lines
16 KiB
Plaintext
247 lines
16 KiB
Plaintext
[
|
|
// open a docblock with enter
|
|
{ "keys": ["enter"], "command": "jsdocs",
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true }
|
|
]
|
|
},
|
|
// open a docblock with keypad enter
|
|
{ "keys": ["keypad_enter"], "command": "jsdocs",
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true }
|
|
]
|
|
},
|
|
// open a docblock with tab
|
|
{ "keys": ["tab"], "command": "jsdocs",
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)\\*$", "match_all": true }
|
|
]
|
|
},
|
|
// extend a docblock by adding an asterisk at the start
|
|
{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*\\S", "match_all": true }
|
|
]
|
|
},
|
|
// extend a docblock by adding an asterisk at the start
|
|
{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
|
|
]
|
|
},
|
|
// extend a docblock with keypad enter by adding an asterisk at the start
|
|
{ "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
|
|
]
|
|
},
|
|
// trim the automatically added whitespace
|
|
{ "keys": ["enter"], "command": "jsdocs_trim_auto_whitespace",
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "setting.trim_automatic_white_space", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true },
|
|
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\s*$", "match_all": true }
|
|
]
|
|
},
|
|
// trim the automatically added whitespace
|
|
{ "keys": ["keypad_enter"], "command": "jsdocs_trim_auto_whitespace",
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "setting.trim_automatic_white_space", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true },
|
|
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\s*$", "match_all": true }
|
|
]
|
|
},
|
|
// extend line comments (// and #)
|
|
{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*((?:#|\\/\\/)\\s*).*/$1/}"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "setting.jsdocs_extend_double_slash", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(\\/\\/|#)", "match_all": true }
|
|
]
|
|
},
|
|
// extend line comments (// #) with keypad enter
|
|
{ "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n${TM_CURRENT_LINE/^\\s*((?:#|\\/\\/)\\s*).*$/$1/}"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "setting.jsdocs_extend_double_slash", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\/", "match_all": true }
|
|
]
|
|
},
|
|
// close a block comment (/* */)
|
|
{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"},
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true }
|
|
]
|
|
},
|
|
// close a block comment (/* */)
|
|
{ "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"},
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true }
|
|
]
|
|
},
|
|
{ "keys": ["tab"], "command": "insert_snippet", "args": {"contents": "\n$0\n */"},
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true }
|
|
]
|
|
},
|
|
{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n "}, "context":
|
|
[
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true},
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true},
|
|
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\*\\/\\s*$", "match_all": true}
|
|
]
|
|
},
|
|
{ "keys": ["keypad_enter"], "command": "insert_snippet", "args": {"contents": "\n$0\n "}, "context":
|
|
[
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true},
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*$", "match_all": true},
|
|
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\*\\/$", "match_all": true}
|
|
]
|
|
},
|
|
// De-indent at the end of a comment block
|
|
{ "keys": ["enter"], "command": "jsdocs_deindent",
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s+\\*/", "match_all": true }
|
|
]
|
|
},
|
|
// de-indent at the end of a comment block with keypad-enter
|
|
{ "keys": ["keypad_enter"], "command": "jsdocs_deindent",
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s+\\*/", "match_all": true }
|
|
]
|
|
},
|
|
// Open an inline docblock (/** */)
|
|
{ "keys": ["shift+enter"], "command": "jsdocs", "args": {"inline": true},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*{2}$", "match_all": true }
|
|
]
|
|
},
|
|
// Open an inline docblock
|
|
{ "keys": ["shift+keypad_enter"], "command": "jsdocs", "args": {"inline": true},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\/\\*{2}$", "match_all": true }
|
|
]
|
|
},
|
|
// show the autocomplete
|
|
{ "keys": ["@"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/jsdocs-auto-complete.sublime-macro"},
|
|
"context": [
|
|
{ "key": "setting.auto_complete", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*(?:\\/\\*|###)?\\*\\s*$", "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }
|
|
]
|
|
},
|
|
// show the autocomplete in a coffee doc block
|
|
{ "keys": ["@"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/jsdocs-auto-complete.sublime-macro"},
|
|
"context": [
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*#\\s*$", "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line.number-sign.coffee", "match_all": true }
|
|
]
|
|
},
|
|
// indent to align with the previous line
|
|
{ "keys": ["tab"], "command": "jsdocs_indent",
|
|
"context": [
|
|
{ "key": "setting.jsdocs_deep_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*\\s*$", "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }
|
|
]
|
|
},
|
|
// decorate a double-slash comment
|
|
{ "keys": ["ctrl+enter"], "command": "jsdocs_decorate",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line.double-slash"}
|
|
]
|
|
},
|
|
// decorate a double-slash comment
|
|
{ "keys": ["ctrl+keypad_enter"], "command": "jsdocs_decorate",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line.double-slash"}
|
|
]
|
|
},
|
|
// join lines inside a comment block, stripping the leading asterisk
|
|
{ "keys": ["ctrl+j"], "command": "jsdocs_join",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block" }
|
|
]
|
|
},
|
|
// join lines in a line comment, stripping the leading // or #
|
|
{ "keys": ["ctrl+j"], "command": "jsdocs_join",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.line" }
|
|
]
|
|
},
|
|
// reparse a comment block's placeholders
|
|
{ "keys": ["ctrl+alt+tab"], "command": "jsdocs_reparse",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block" }
|
|
]
|
|
},
|
|
{ "keys": ["alt+q"], "command": "jsdocs_wrap_lines",
|
|
"context": [
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }
|
|
]
|
|
},
|
|
|
|
// add line after, in a DocBlock
|
|
{ "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line.sublime-macro"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
|
|
]
|
|
},
|
|
|
|
// add line before, in a DocBlock
|
|
{ "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line Before.sublime-macro"},
|
|
"context": [
|
|
{ "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
|
|
{ "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
|
|
{ "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
|
|
{ "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
|
|
]
|
|
}
|
|
]
|