├── jsdocs-auto-complete.sublime-macro
├── Add DocBlockr Line.sublime-macro
├── Default.sublime-commands
├── Default (Windows).sublime-keymap
├── Add DocBlockr Line Before.sublime-macro
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── actionscript.sublime-completions
├── LICENSE
├── Main.sublime-menu
├── java.sublime-completions
├── Default (OSX).sublime-keymap
├── php.sublime-completions
├── Base File.sublime-settings
├── coffee.sublime-completions
├── js.sublime-completions
├── HISTORY.md
├── README.md
├── Default.sublime-keymap
└── jsdocs.py
/jsdocs-auto-complete.sublime-macro:
--------------------------------------------------------------------------------
1 | [
2 | {"command": "insert_snippet", "args": {"contents": "@"}},
3 | {"command": "auto_complete"}
4 | ]
5 |
--------------------------------------------------------------------------------
/Add DocBlockr Line.sublime-macro:
--------------------------------------------------------------------------------
1 | [
2 | {"command": "move_to", "args": {"to": "hardeol"}},
3 | {"command": "insert_snippet", "args": {
4 | "contents": "\n${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}"
5 | }}
6 | ]
7 |
--------------------------------------------------------------------------------
/Default.sublime-commands:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "DocBlockr: Decorate line comment",
4 | "command": "jsdocs_decorate"
5 | },
6 | {
7 | "caption": "DocBlockr: Reparse comment block",
8 | "command": "jsdocs_reparse"
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/Default (Windows).sublime-keymap:
--------------------------------------------------------------------------------
1 | [
2 | // reparse a comment block's placeholders
3 | { "keys": ["alt+w"], "command": "jsdocs_reparse",
4 | "context": [
5 | { "key": "selector", "operator": "equal", "operand": "comment.block" }
6 | ]
7 | }
8 | ]
9 |
--------------------------------------------------------------------------------
/Add DocBlockr Line Before.sublime-macro:
--------------------------------------------------------------------------------
1 | [
2 | {"command": "move_to", "args": {"to": "bol"}},
3 | {"command": "insert_snippet", "args": {
4 | "contents": "${TM_CURRENT_LINE/^\\s*(\\*\\s*).*$/$1/}\n"
5 | }},
6 | {"command": "move", "args": {"by": "lines", "forward": false}}
7 | ]
8 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | You want to contribute to DocBlockr?
2 |
3 | **THEN YOU, SIR OR MADAM, ARE MY FRIEND.**
4 |
5 | There's only a couple of things you should know first.
6 |
7 | - **The most important thing** is to know there are two main branches. `master` is the "live" stable branch which pushes code into thousands of people's editors. `develop` is the place where development happens.
8 | - When beginning work on a patch, please start your branches from the latest commit on the `develop` branch. If you've already made some commits, please `git rebase develop` and then continue.
9 | - When making a pull request, please target it back to the `develop` branch. Pull requests targetting `master` will be rejected.
10 | - Everything else is pretty standard:
11 | - Trim trailing spaces.
12 | - Unix line endings.
13 | - Spaces, not tabs.
14 | - Run your code through PEP8, or some linting program.
15 |
16 | Thank you!
17 |
--------------------------------------------------------------------------------
/CONTRIBUTORS.md:
--------------------------------------------------------------------------------
1 | Many thanks to all those who have sent bug reports and especially to those who sent pull requests. Here are the names of those who have contributed code:
2 |
3 | - Aleksey Smolenchuk (@lxe)
4 | - Alex Whitman (@alexwhitman)
5 | - Amir Abu Shareb (@yields)
6 | - Andreas (@ryrun)
7 | - Andrew Hanna (@percyhanna)
8 | - Ben Linskey (@blinskey)
9 | - Craig Patik (@cpatik)
10 | - Daniel Julius Lasiman (@danieljl)
11 | - Dany Ouellette (@DanyO)
12 | - Geoffrey Huntley (@ghuntley)
13 | - Jordi Baggiano (@seldaek)
14 | - Josh Freeman (@freejosh)
15 | - Korvin Szanto (@KorvinSzanto)
16 | - Marc Neuhaus (@mneuhaus)
17 | - Mat Gadd (@Drarok)
18 | - Michael Barany (@mbarany)
19 | - Nick Dowdell (@mikulad13)
20 | - Nick Fisher (@spadgos)
21 | - Pavel Voronin (@pavel-voronin)
22 | - Rafal Chlodnicki (@rchl)
23 | - Roberto Segura (@phproberto)
24 | - Scott Kuroda (@skuroda)
25 | - Simon Aittamaa (@simait)
26 | - Sven Axelsson (@svenax)
27 | - Thanasis Polychronakis (@thanpolas)
28 | - Tiago Santos (@tmcsantos)
29 | - Timo Tijhof (@Krinkle)
30 | - wronex (@wronex)
31 |
--------------------------------------------------------------------------------
/actionscript.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.actionscript comment.block",
3 | "completions": [
4 | { "trigger": "@copy", "contents": "@copy ${1:[reference]}" },
5 | { "trigger": "@default", "contents": "@default ${1:[value]}" },
6 | { "trigger": "@eventType", "contents": "@eventType ${1:[package.class.CONSTANT]}" },
7 | { "trigger": "@example", "contents": "@example ${1:[exampleText]}" },
8 | { "trigger": "@exampleText", "contents": "@exampleText ${1:[string]}" },
9 | { "trigger": "@inheritDoc", "contents": "@inheritDoc" },
10 | { "trigger": "@internal", "contents": "@internal ${1:[text]}" },
11 | { "trigger": "@param", "contents": "@param ${1:[paramName]} ${2:[description]}" },
12 | { "trigger": "@private", "contents": "@private" },
13 | { "trigger": "@return", "contents": "@return ${1:[description]}" },
14 | { "trigger": "@see", "contents": "@see ${1:[reference]} ${2:[displayText]}" },
15 | { "trigger": "@throws", "contents": "@throws ${1:[package.class.className]} ${2:[description]}" }
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2013 Nick Fisher
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Main.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "Preferences",
4 | "mnemonic": "n",
5 | "id": "preferences",
6 | "children":
7 | [
8 | {
9 | "caption": "Package Settings",
10 | "mnemonic": "P",
11 | "id": "package-settings",
12 | "children":
13 | [
14 | {
15 | "caption": "DocBlockr",
16 | "children":
17 | [
18 | {
19 | "command": "open_file", "args":
20 | {
21 | "file": "${packages}/DocBlockr/Base File.sublime-settings"
22 | },
23 | "caption": "Settings – Default"
24 | },
25 | {
26 | "command": "open_file", "args":
27 | {
28 | "file": "${packages}/User/Base File.sublime-settings"
29 | },
30 | "caption": "Settings – User"
31 | },
32 | { "caption": "-" }
33 | ]
34 | }
35 | ]
36 | }
37 | ]
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/java.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.java,source.groovy comment.block.documentation",
3 | "completions":
4 | [
5 | { "trigger" : "@author", "contents": "@author ${1:[author]}"},
6 | { "trigger" : "@deprecated", "contents": "@deprecated ${1:[deprecated-text]}"},
7 | { "trigger" : "@exception", "contents": "@exception ${1:[class-name]} ${2:[description]}"},
8 | { "trigger" : "@param", "contents": "@param ${1:[parameter-name]} ${2:[description]}"},
9 | { "trigger" : "@return", "contents": "@return ${1:[description]}"},
10 | { "trigger" : "@see", "contents": "@see ${1:[reference]}"},
11 | { "trigger" : "@serial", "contents": "@serial ${1:[description | include | exclude]}"},
12 | { "trigger" : "@serialField", "contents": "@serialField ${1:[field-name]} ${2:[field-type]} ${3:[field-description]}"},
13 | { "trigger" : "@serialDate", "contents": "@serialDate ${1:[data-description]}"},
14 | { "trigger" : "@since", "contents": "@since ${1:[since-text]}"},
15 | { "trigger" : "@throws", "contents": "@throws ${1:[class-name]} ${2:[description]}"},
16 | { "trigger" : "@version", "contents": "@version ${1:[version-text]}"},
17 | { "trigger" : "{@code}", "contents": "{@code ${1:[text]}}"},
18 | { "trigger" : "{@docRoot}", "contents": "{@docRoot}"},
19 | { "trigger" : "{@inheritDoc}", "contents": "{@inheritDoc}"},
20 | { "trigger" : "{@link}", "contents": "{@link ${1:[package.class#member]} ${2:[label]}}"},
21 | { "trigger" : "{@linkplain}", "contents": "{@linkplain ${1:[package.class#member]} ${2:[label]}}"},
22 | { "trigger" : "{@literal}", "contents": "{@literal ${1:[text]}}"},
23 | { "trigger" : "{@value}", "contents": "{@value ${1:[package.class#field]}}"}
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/Default (OSX).sublime-keymap:
--------------------------------------------------------------------------------
1 | [
2 | { "keys": ["super+j"], "command": "jsdocs_join", "context":
3 | [
4 | { "key": "selector", "operator": "equal", "operand": "comment.block" }
5 | ]
6 | },
7 | { "keys": ["super+j"], "command": "jsdocs_join", "context":
8 | [
9 | { "key": "selector", "operator": "equal", "operand": "comment.line" }
10 | ]
11 | },
12 | { "keys": ["super+alt+q"], "command": "jsdocs_wrap_lines",
13 | "context": [
14 | { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true }
15 | ]
16 | },
17 | // add line after, in a DocBlock
18 | { "keys": ["super+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line.sublime-macro"},
19 | "context": [
20 | { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
21 | { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
22 | { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
23 | { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
24 | ]
25 | },
26 |
27 | // add line before, in a DocBlock
28 | { "keys": ["super+shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/DocBlockr/Add DocBlockr Line Before.sublime-macro"},
29 | "context": [
30 | { "key": "setting.auto_indent", "operator": "equal", "operand": true, "match_all": true },
31 | { "key": "selector", "operator": "equal", "operand": "comment.block", "match_all": true },
32 | { "key": "auto_complete_visible", "operator": "equal", "operand": false, "match_all": true },
33 | { "key": "preceding_text", "operator": "regex_contains", "operand": "^\\s*\\*", "match_all": true }
34 | ]
35 | }
36 | ]
37 |
--------------------------------------------------------------------------------
/php.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.php comment.block.documentation",
3 | "completions":
4 | [
5 | { "trigger" : "@abstract", "contents": ""},
6 | { "trigger" : "@access", "contents": "@access ${1:[public]}"},
7 | { "trigger" : "@author", "contents": "@author ${1:[author]} ${3:<${2:[email]}>}" },
8 | { "trigger" : "@category", "contents": "@category ${1:[category]}"},
9 | { "trigger" : "@copyright", "contents": "@copyright ${1:[description]}"},
10 | { "trigger" : "@deprecated", "contents": "@deprecated ${1:[description]}"},
11 | { "trigger" : "@example", "contents": "@example\n* "},
12 | { "trigger" : "@extends", "contents": "@extends ${1:[type]}"},
13 | { "trigger" : "@filesource", "contents": ""},
14 | { "trigger" : "@final", "contents": ""},
15 | { "trigger" : "@global", "contents": "@global ${1:[type]} ${2:name}"},
16 | { "trigger" : "@ignore", "contents": ""},
17 | { "trigger" : "@implements", "contents": "@implements ${1:[type]}"},
18 | { "trigger" : "@internal", "contents": "@internal ${1:[private description]}"},
19 | { "trigger" : "@license", "contents": "@license ${1:[url]} ${2:[description]}"},
20 | { "trigger" : "@link", "contents": "@link ${1:[url]} ${2:[description]}"},
21 | { "trigger" : "@method", "contents": "@method {${1:[return type]}} ${2:[name]}() ${2:[name]}(${3:[args]}) ${4:[description]}"},
22 | { "trigger" : "@name", "contents": "@name {$1:[name]}"},
23 | { "trigger" : "@namespace", "contents": "@namespace ${1:[description]}"},
24 | { "trigger" : "@package", "contents": "@package ${1:[name]}"},
25 | { "trigger" : "@param", "contents": "@param ${1:[type]} ${2:[varname]} ${3:[description]}" },
26 | { "trigger" : "@property", "contents": "@property ${1:[type]} ${2:[varname]} ${3:[description]}"},
27 | { "trigger" : "@return", "contents": "@return ${1:[type]} ${2:[description]}" },
28 | { "trigger" : "@see", "contents": "@see ${1:[description]}"},
29 | { "trigger" : "@since", "contents": "@since ${1:[version]}"},
30 | { "trigger" : "@static", "contents": ""},
31 | { "trigger" : "@staticvar", "contents": "@staticvar ${1:[type]} ${2:[description]}"},
32 | { "trigger" : "@subpackage", "contents": "@subpackage ${1:[name]}"},
33 | { "trigger" : "@throws", "contents": "@throws ${1:[exceptionType]} If ${2:[this condition is met]}"},
34 | { "trigger" : "@todo", "contents": "@todo ${1:[description]}"},
35 | { "trigger" : "@tutorial", "contents": "@tutorial ${1:[path]}"},
36 | { "trigger" : "@uses", "contents": "@uses ${1:[object]} ${2:[description]}"},
37 | { "trigger" : "@var", "contents": "@var ${1:[type]} ${2:[description]}"},
38 | { "trigger" : "@version", "contents": "@version ${1:[version]}"},
39 | { "trigger" : "{@example}", "contents": "{@example ${1:[path]}}"},
40 | { "trigger" : "{@inheritdoc}", "contents": ""},
41 | { "trigger" : "{@link}", "contents": "{@link ${1:[url]}}"},
42 | { "trigger" : "{@source}", "contents": ""},
43 | { "trigger" : "{@tutorial}", "contents": "{@tutorial ${1:[path]}}"}
44 | ]
45 | }
46 |
--------------------------------------------------------------------------------
/Base File.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // If true, when in a docblock, pressing tab after a @tag line (like @param, @return)
3 | // will indent to the description. This is useful if you are writing a long description
4 | // and want that block of text to stay aligned.
5 | "jsdocs_deep_indent": true,
6 |
7 | // If true, then pressing enter while in a double-slash comment (like this one)
8 | // will automatically add two slashes to the next line as well
9 | "jsdocs_extend_double_slash": true,
10 |
11 | // the number of spaces to add after the leading *
12 | "jsdocs_indentation_spaces": 1,
13 |
14 | // The number of spaces to add after the leading * in lines under the first line of each
15 | // paragraph. This is only used together with automatic line wrapping. For example, a value
16 | // of 3 might look like this:
17 | //
18 | // /**
19 | // * Duis sed arcu non tellus eleifend ullamcorper quis non erat. Curabitur
20 | // * metus elit, ultrices et tristique a, blandit at justo.
21 | // * @param {String} foo Lorem ipsum dolor sit amet.
22 | // * @param {Number} bar Nullam fringilla feugiat pretium. Quisque
23 | // * consectetur, risus eu pellentesque tincidunt, nulla ipsum imperdiet
24 | // * massa, sit amet adipiscing dolor.
25 | // * @return {[Type]}
26 | // */
27 | "jsdocs_indentation_spaces_same_para": 1,
28 |
29 | // whether the words following the @tags should align.
30 | // Possible values are 'no', 'shallow', 'deep'
31 | // For backwards compatibility, false is equivalent to 'no', true is equivalent to 'shallow'
32 | //
33 | // 'shallow' will just align the first words after the tag. eg:
34 | // @param {MyCustomClass} myVariable desc1
35 | // @return {String} foo desc2
36 | // @property {Number} blahblah desc3
37 | //
38 | // 'deep' will align each component of the tags, eg:
39 | // @param {MyCustomClass} myVariable desc1
40 | // @return {String} foo desc2
41 | // @property {Number} blahblah desc3
42 | "jsdocs_align_tags": "deep",
43 |
44 | // Any additional boilerplate tags which should be added to each block. Should be an array of strings.
45 | // Note that this only applies when a docblock is opened directly preceding a function.
46 | // Tab points can be added by using snippet syntax, eg: ${1:default text}
47 | "jsdocs_extra_tags": [],
48 |
49 | // If extra tags are defined, by default they go between the description and the param/return tags. If this is set to
50 | // true, the extra tags are placed at the very end.
51 | "jsdocs_extra_tags_go_after": false,
52 |
53 | // A map to determine the value of variables, should hungarian notation (or similar) be in use
54 | "jsdocs_notation_map": [],
55 |
56 | // Since there seems to be no agreed standard for "@return" or "@returns", use this setting to rename it as you wish.
57 | "jsdocs_return_tag": "@return",
58 |
59 | // Add a '[description]' placeholder for the return tag?
60 | "jsdocs_return_description": true,
61 |
62 | // Add a '[description]' placeholder for the param tag?
63 | "jsdocs_param_description": true,
64 |
65 | // Whether there should be blank lines added between the description line, and between tags of different types.
66 | // If true, the output might look like this:
67 | //
68 | // /**
69 | // * [description]
70 | // *
71 | // * @param {String} foo
72 | // * @param {Number} bar
73 | // *
74 | // * @return {[Type]}
75 | // */
76 | "jsdocs_spacer_between_sections": false,
77 |
78 | // Whether each section should be indented to the same level, or indent each one individually.
79 | // (When true, the @param section will lose the extra space immediately after each '@param').
80 | "jsdocs_per_section_indent": false,
81 |
82 | // Minimum spaces between cols (default is 1). For example, a value
83 | // of 2 might look like this:
84 | //
85 | // /**
86 | // * Duis sed arcu non tellus eleifend ullamcorper quis non erat. Curabitur
87 | // *
88 | // * @param {String} foo Lorem ipsum dolor sit amet.
89 | // * @param {Number} bar Nullam fringilla feugiat pretium. Quisque
90 | // *
91 | // * @return {[Type]} description
92 | // */
93 | "jsdocs_min_spaces_between_columns": 1,
94 |
95 | // indicates whether the @method tag should be added automatically
96 | "jsdocs_autoadd_method_tag": false,
97 |
98 | // If set to true, DocBlockr won't parse any code, providing no default templates. All other functions work as normal.
99 | "jsdocs_simple_mode": false,
100 |
101 | // If set to true, primitives such as "Number" and "String" will be documented as "number" and "string".
102 | "jsdocs_lower_case_primitives": false,
103 |
104 | // If set to true, primitives such as "boolean" and "integer" will be shortened to "bool" and "int".
105 | "jsdocs_short_primitives": false,
106 |
107 | // This property affects the default tag added to `var` declarations in Javascript/Coffeescript. If `false`, the
108 | // default is used ("var"), otherwise it can be set to any String, eg: "property"
109 | "jsdocs_override_js_var": false,
110 |
111 | // If set to true, an extra line break is added after the end of a docblock to separate it from the code.
112 | "jsdocs_newline_after_block": false
113 | }
114 |
--------------------------------------------------------------------------------
/coffee.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.coffee comment.block",
3 | "completions":
4 | [
5 | { "trigger" : "@async", "contents": ""},
6 | { "trigger" : "@augments", "contents": "@augments {${1:[type]}}"},
7 | { "trigger" : "@attribute", "contents": "@attribute ${1:[name]}"},
8 | { "trigger" : "@author", "contents": "@author ${1:[author]}"},
9 | { "trigger" : "@beta", "contents": ""},
10 | { "trigger" : "@borrows", "contents": "@borrows ${1:[otherMemberName]} as ${2:[thisMemberName]}"},
11 | { "trigger" : "@bubbles", "contents": "@bubbles ${1:[name]}"},
12 | { "trigger" : "@chainable", "contents": ""},
13 | { "trigger" : "@class", "contents": "@class ${1:[description]}"},
14 | { "trigger" : "@const", "contents": ""},
15 | { "trigger" : "@constant", "contents": ""},
16 | { "trigger" : "@constructor", "contents": ""},
17 | { "trigger" : "@constructs", "contents": ""},
18 | { "trigger" : "@copyright", "contents": "@copyright ${1:[description]}"},
19 | { "trigger" : "@default", "contents": "@default ${1:[value]}"},
20 | { "trigger" : "@define", "contents": "@define {${1:[type]}} ${2:[description]}"},
21 | { "trigger" : "@deprecated", "contents": "@deprecated ${1:[description]}"},
22 | { "trigger" : "@description", "contents": "@description ${1:[description]}"},
23 | { "trigger" : "@enum", "contents": "@enum {${1:[type]}}"},
24 | { "trigger" : "@event", "contents": ""},
25 | { "trigger" : "@example", "contents": "@example\n* "},
26 | { "trigger" : "@extends", "contents": "@extends {${1:[type]}}"},
27 | { "trigger" : "@extension", "contents": "@extension ${1:[class]}"},
28 | { "trigger" : "@extensionfor", "contents": "@extensionfor ${1:[class]}"},
29 | { "trigger" : "@extension_for", "contents": "@extension_for ${1:[class]}"},
30 | { "trigger" : "@field", "contents": ""},
31 | { "trigger" : "@fileOverview", "contents": "@fileOverview ${1:[description]}"},
32 | { "trigger" : "@final", "contents": ""},
33 | { "trigger" : "@for", "contents": "@for ${1:[class]}"},
34 | { "trigger" : "@function", "contents": ""},
35 | { "trigger" : "@ignore", "contents": ""},
36 | { "trigger" : "@implements", "contents": "@implements {${1:[type]}}"},
37 | { "trigger" : "@inheritDoc", "contents": ""},
38 | { "trigger" : "@inner", "contents": ""},
39 | { "trigger" : "@interface", "contents": ""},
40 | { "trigger" : "@internal", "contents": "@internal ${1:[private description]}"},
41 | { "trigger" : "@lends", "contents": "@lends ${1:[symbolAlias]}"},
42 | { "trigger" : "@license", "contents": "@license ${1:[url]} ${2:[description]}"},
43 | { "trigger" : "@main", "contents": "@main ${1:[module name]}"},
44 | { "trigger" : "@memberOf", "contents": "@memberOf ${1:[parentNamePath]}"},
45 | { "trigger" : "@method", "contents": "@method ${1:[name]}"},
46 | { "trigger" : "@module", "contents": "@module ${1:[module name]}"},
47 | { "trigger" : "@name", "contents": "@name {$1:[name]}"},
48 | { "trigger" : "@namespace", "contents": "@namespace ${1:[description]}"},
49 | { "trigger" : "@nosideeffects", "contents": ""},
50 | { "trigger" : "@optional", "contents": ""},
51 | { "trigger" : "@override", "contents": "@override"},
52 | { "trigger" : "@package", "contents": "@package ${1:[name]}"},
53 | { "trigger" : "@param", "contents": "@param {${1:[type]}} ${2:[varname]} ${3:[description]}" },
54 | { "trigger" : "@preserve", "contents": ""},
55 | { "trigger" : "@private", "contents": ""},
56 | { "trigger" : "@property", "contents": "@property {${1:[type]}} ${2:[propName]} ${3:[description]}"},
57 | { "trigger" : "@protected", "contents": ""},
58 | { "trigger" : "@public", "contents": ""},
59 | { "trigger" : "@readOnly", "contents": ""},
60 | { "trigger" : "@required", "contents": ""},
61 | { "trigger" : "@requires", "contents": "@requires ${1:[description]}"},
62 | { "trigger" : "@return", "contents": "@return {${1:[type]}} ${2:[description]}" },
63 | { "trigger" : "@returns", "contents": "@returns {${1:[type]}} ${2:[description]}" },
64 | { "trigger" : "@see", "contents": "@see ${1:[description]}"},
65 | { "trigger" : "@since", "contents": "@since ${1:[version]}"},
66 | { "trigger" : "@static", "contents": ""},
67 | { "trigger" : "@sumodule", "contents": "@submodule ${1:[submodule]}"},
68 | { "trigger" : "@subpackage", "contents": "@subpackage ${1:[name]}"},
69 | { "trigger" : "@this", "contents": "@this {${1:[type]}}"},
70 | { "trigger" : "@throws", "contents": "@throws {${1:[exceptionType]}} If ${2:[this condition is met]}"},
71 | { "trigger" : "@todo", "contents": "@todo ${1:[description]}"},
72 | { "trigger" : "@tutorial", "contents": "@tutorial ${1:[link]}"},
73 | { "trigger" : "@type", "contents": "@type {${1:[type]}}"},
74 | { "trigger" : "@typedef", "contents": "@typedef {${1:[type]}}"},
75 | { "trigger" : "@uses", "contents": "@uses ${1:[object]} ${2:[description]}"},
76 | { "trigger" : "@var", "contents": "@var {${1:[type]}} ${2:[description]}"},
77 | { "trigger" : "@version", "contents": "@version ${1:[version]}"},
78 | { "trigger" : "@writeOnce", "contents": ""},
79 | { "trigger" : "{@link}", "contents": "{@link ${1:[symbol]}}"}
80 | ]
81 | }
82 |
--------------------------------------------------------------------------------
/js.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.js comment.block.documentation",
3 | "completions":
4 | [
5 | { "trigger" : "@async", "contents": ""},
6 | { "trigger" : "@augments", "contents": "@augments {${1:[type]}}"},
7 | { "trigger" : "@attribute", "contents": "@attribute ${1:[name]}"},
8 | { "trigger" : "@author", "contents": "@author ${1:[author]}"},
9 | { "trigger" : "@beta", "contents": ""},
10 | { "trigger" : "@borrows", "contents": "@borrows ${1:[otherMemberName]} as ${2:[thisMemberName]}"},
11 | { "trigger" : "@bubbles", "contents": "@bubbles ${1:[name]}"},
12 | { "trigger" : "@chainable", "contents": ""},
13 | { "trigger" : "@class", "contents": "@class ${1:[description]}"},
14 | { "trigger" : "@const", "contents": ""},
15 | { "trigger" : "@constant", "contents": ""},
16 | { "trigger" : "@constructor", "contents": ""},
17 | { "trigger" : "@constructs", "contents": ""},
18 | { "trigger" : "@copyright", "contents": "@copyright ${1:[description]}"},
19 | { "trigger" : "@default", "contents": "@default ${1:[value]}"},
20 | { "trigger" : "@define", "contents": "@define {${1:[type]}} ${2:[description]}"},
21 | { "trigger" : "@deprecated", "contents": "@deprecated ${1:[description]}"},
22 | { "trigger" : "@description", "contents": "@description ${1:[description]}"},
23 | { "trigger" : "@enum", "contents": "@enum {${1:[type]}}"},
24 | { "trigger" : "@event", "contents": ""},
25 | { "trigger" : "@example", "contents": "@example\n* "},
26 | { "trigger" : "@extends", "contents": "@extends {${1:[type]}}"},
27 | { "trigger" : "@extension", "contents": "@extension ${1:[class]}"},
28 | { "trigger" : "@extensionfor", "contents": "@extensionfor ${1:[class]}"},
29 | { "trigger" : "@extension_for", "contents": "@extension_for ${1:[class]}"},
30 | { "trigger" : "@field", "contents": ""},
31 | { "trigger" : "@fileOverview", "contents": "@fileOverview ${1:[description]}"},
32 | { "trigger" : "@final", "contents": ""},
33 | { "trigger" : "@for", "contents": "@for ${1:[class]}"},
34 | { "trigger" : "@function", "contents": ""},
35 | { "trigger" : "@ignore", "contents": ""},
36 | { "trigger" : "@implements", "contents": "@implements {${1:[type]}}"},
37 | { "trigger" : "@inheritDoc", "contents": ""},
38 | { "trigger" : "@inner", "contents": ""},
39 | { "trigger" : "@interface", "contents": ""},
40 | { "trigger" : "@internal", "contents": "@internal ${1:[private description]}"},
41 | { "trigger" : "@lends", "contents": "@lends ${1:[symbolAlias]}"},
42 | { "trigger" : "@license", "contents": "@license ${1:[url]} ${2:[description]}"},
43 | { "trigger" : "@main", "contents": "@main ${1:[module name]}"},
44 | { "trigger" : "@memberOf", "contents": "@memberOf ${1:[parentNamePath]}"},
45 | { "trigger" : "@method", "contents": "@method ${1:[name]}"},
46 | { "trigger" : "@module", "contents": "@module ${1:[module name]}"},
47 | { "trigger" : "@name", "contents": "@name {$1:[name]}"},
48 | { "trigger" : "@namespace", "contents": "@namespace ${1:[description]}"},
49 | { "trigger" : "@nosideeffects", "contents": ""},
50 | { "trigger" : "@optional", "contents": ""},
51 | { "trigger" : "@override", "contents": "@override"},
52 | { "trigger" : "@package", "contents": "@package ${1:[name]}"},
53 | { "trigger" : "@param", "contents": "@param {${1:[type]}} ${2:[varname]} ${3:[description]}" },
54 | { "trigger" : "@preserve", "contents": ""},
55 | { "trigger" : "@private", "contents": ""},
56 | { "trigger" : "@property", "contents": "@property {${1:[type]}} ${2:[propName]} ${3:[description]}"},
57 | { "trigger" : "@protected", "contents": ""},
58 | { "trigger" : "@public", "contents": ""},
59 | { "trigger" : "@readOnly", "contents": ""},
60 | { "trigger" : "@required", "contents": ""},
61 | { "trigger" : "@requires", "contents": "@requires ${1:[description]}"},
62 | { "trigger" : "@return", "contents": "@return {${1:[type]}} ${2:[description]}" },
63 | { "trigger" : "@returns", "contents": "@returns {${1:[type]}} ${2:[description]}" },
64 | { "trigger" : "@see", "contents": "@see ${1:[description]}"},
65 | { "trigger" : "@since", "contents": "@since ${1:[version]}"},
66 | { "trigger" : "@static", "contents": ""},
67 | { "trigger" : "@sumodule", "contents": "@submodule ${1:[submodule]}"},
68 | { "trigger" : "@subpackage", "contents": "@subpackage ${1:[name]}"},
69 | { "trigger" : "@this", "contents": "@this {${1:[type]}}"},
70 | { "trigger" : "@throws", "contents": "@throws {${1:[exceptionType]}} If ${2:[this condition is met]}"},
71 | { "trigger" : "@todo", "contents": "@todo ${1:[description]}"},
72 | { "trigger" : "@tutorial", "contents": "@tutorial ${1:[link]}"},
73 | { "trigger" : "@type", "contents": "@type {${1:[type]}}"},
74 | { "trigger" : "@typedef", "contents": "@typedef {${1:[type]}}"},
75 | { "trigger" : "@uses", "contents": "@uses ${1:[object]} ${2:[description]}"},
76 | { "trigger" : "@var", "contents": "@var {${1:[type]}} ${2:[description]}"},
77 | { "trigger" : "@version", "contents": "@version ${1:[version]}"},
78 | { "trigger" : "@writeOnce", "contents": ""},
79 | { "trigger" : "{@link}", "contents": "{@link ${1:[symbol]}}"}
80 | ]
81 | }
82 |
--------------------------------------------------------------------------------
/HISTORY.md:
--------------------------------------------------------------------------------
1 | # DocBlockr Extended Changelog
2 |
3 | - **v2.11.7**, *3 Nov 2013*
4 | - Added support for triple `///`, `//!` and `/*!` style comments, thanks to [Jordi Boggiano](https://github.com/seldaek).
5 | - Added basic **Rust** support, again thanks to Jordi Boggiano.
6 | - Added an option to use short names for bools and ints (`jsdocs_short_primitives`), thanks to [Mat Gadd](https://github.com/drarok).
7 | - Fixed a bug with per-section indenting, again thanks to Mat Gadd.
8 | - Improved handling of Java return type detection, thanks to [Ben Linskey](https://github.com/blinskey)
9 | - **v2.11.6**, *14 Aug 2013*
10 | - Predefined `@author` tags do not get parsed for column spacing
11 | - Handles the case when an arguments list contains a comma, for example, within a default value
12 | - A new keybinding for Windows to re-parse a doc block (Alt+W)
13 | - Fixes a regression that some function names were not being parsed correctly
14 | - **v2.11.5**, *11 Aug 2013*
15 | - Fix for last deploy which accidentally changed the default `var` tag to "property". Default is "type" once again.
16 | - **v2.11.4**, *10 Aug 2013*
17 | - The tag used on `var` declarations can be customised (eg: to "property" for YUIDoc)
18 | - Small fix for function declarations in C/C++ (thanks to [Simon Aittamaa](https://github.com/simait))
19 | - **v2.11.3**, *18 June 2013*
20 | - Adds support for Groovy (thanks to [Tiago Santos](https://github.com/tmcsantos))
21 | - README has gifs. So many gifs.
22 | - **v2.11.2**, *12 June 2013*
23 | - Compatibility fixes for ST3, thanks to Marc Neuhaus (@mneuhaus) and Daniel Julius Lasiman (@danieljl).
24 | - **v2.11.1**, *11 May 2013*
25 | - No changes, just removes some debugging code that wasn't cleaned up in the last release (oops).
26 | - **v2.11.0**, *11 May 2013*
27 | - It isn't broken in ST3 any more. (yay)
28 | - New options:
29 | - `jsdocs_simple_mode` for when you don't want dynamic templates
30 | - `jsdocs_lower_case_primitives` for YUIDoc which requires lower case for primitive data types
31 | - `jsdocs_extra_tags_go_after` to put custom text at the end of the docblock
32 | - Better handling of IIFEs
33 | - Hotkey for reparsing a block changed to alt+shift+tab to avoid OS-level conflicts
34 | - Adding a new line at the start of the docblock is handled properly
35 | - C/C++: arguments containing square brackets are handled properly
36 | - **v2.10.1**, *19 April 2013*
37 | - Adds variable substitution in `jsdocs_extra_tags`
38 | - Fixes indentation bug in `jsdocs_extra_tags`
39 | - Fixes bug when adding a new line after a docblock which contains text afterwards
40 | - Fixes link to Pledgie (thanks @Krinkle)
41 | - **v2.10.0**, *21 February 2013*
42 | - Adds Sublime Text 3 support (thanks to @lxe and @rmarscher)
43 | - YUI-style `@method` tags can be automatically added with the `jsdocs_autoadd_method_tag` setting (thanks to @maheshjag)
44 | - Variables starting with `$` are not wiped out when reparsing a doc block (thanks @ryrun)
45 | - **v2.9.3**, *12 December 2012*
46 | - Fixed bug which stopped regular comments from closing automatically
47 | - **v2.9.2**, *11 December 2012*
48 | - This one goes out to [Thanasis Polychronakis](https://github.com/thanpolas).
49 | - Structure of the modules greatly improved
50 | - Fixes bug with matching languages with hyphens in the name
51 | - Adds support for CUDA-C++
52 | - **v2.9.1**, *31 October 2012*
53 | - Thanks to [wronex](https://github.com/wronex), Alt+Q will reformat the entire DocBlock, with customisable indentation.
54 | - Thanks to [Pavel Voronin](https://github.com/pavel-voronin), spaces around arguments are handled properly.
55 | - **C/C++**: Array arguments are accepted
56 | - **C/C++**: An argument list containing only `void` doesn't output any `@param` tags
57 | - **PHP**: Arguments with an array as a default value inside multi-line arguments are handled properly
58 | - Ctrl/Cmd + Enter and Ctrl/Cmd + Shift + Enter work inside DocBlocks.
59 | - **v2.9.0**, *1 October 2012*
60 | - Adds ObjectiveC and ObjectiveC++ support, thanks to some help from [Robb Böhnke](https://github.com/robb)
61 | - Very buggy code, support isn't great but it's better than nothing (hopefully).
62 | - Single-line comments inside function definitions are handled
63 | - Notation rules are applied to functions, which means they can define a return type by their name, eg: `strFoo`
64 | - Notation rules can define arbitrary tags, for example: functions with a prefix of "_" should get the `@private` tag.
65 | - Given the above addition, JS functions starting with an underscore are no longer marked as `@private` by default.
66 | - **v2.8.2**, *28 September 2012*
67 | - When a function is defined across many lines, the parser will find the arguments on extra lines.
68 | - **v2.8.1**, *13 September 2012*
69 | - Pressing tab on an empty line will perform a deep indentation instead of moving to the next field
70 | - Functions starting with `_` will get a `@private` tag in Javascript (thanks to [Andrew Hanna](https://github.com/percyhanna))
71 | - **v2.8.0**, *26 August 2012*
72 | - New feature: Alt+Q to reformat the description field of a docblock to make it fit nicely within your ruler.
73 | - Adds support for C++ (thanks to [Rafał Chłodnicki](https://github.com/rchl))
74 | - Indenting to the description field works in languages which don't require type information in the docblock.
75 | - **v2.7.4**, *8 August 2012*
76 | - Fix for Actionscript docblocks not working
77 | - **v2.7.3**, *7 August 2012*
78 | - No trailing whitespace added on the spacer lines added when `jsdocs_spacer_between_sections` is on (thanks to [Rafał Chłodnicki](https://github.com/rchl))
79 | - Fixes a bug with detecting variable names when they have a default value in PHP
80 | - Changes the notation map to not ignore the leading `$` or `_`, meaning that (for example), you could specify that variables starting with `$` are `HTMLElement`s.
81 | - **v2.7.2**, *6 August 2012*
82 | - Small bug fix, thanks to [djuliusl](https://github.com/djuliusl)
83 | - **v2.7.1**, *5 August 2012*
84 | - Adds per-section alignment (can be set using `jsdocs_per_section_indent`)
85 | - Description field for `@return` tag can be disabled using `jsdocs_return_description`. *(Both thanks to [Drarok](https://github.com/Drarok))*
86 | - **v2.7.0**, *5 August 2012*
87 | - Adds support for ASDocs (Actionscript)
88 | - Changes Linux shortcut for reparsing a comment block to Alt+Shift+Tab
89 | - **v2.6.5**, *19 June 2012*
90 | - Bugfix for adding linebreaks when not at the start or end of a line
91 | - **v2.6.4**, *4 June 2012*
92 | - Better support for indentation using tabs
93 | - YUI tags are supported by the autocomplete
94 | - When only whitespace exists on a docblock line, and `trim_automatic_white_space` is set to true, the whitespace is removed.
95 | - Better support for comment blocks opened with `/*`
96 | - **v2.6.3**, *30 April 2012*
97 | - Fixes the join-lines command Ctrl+J for CoffeeScript.
98 | - **v2.6.2**, *22 March 2012*
99 | - PHP `__destruct` functions don't get a return value *(thanks to [Alex Whitman](https://github.com/whitman))*.
100 | - **v2.6.1**, *16 March 2012*
101 | - Fixes bug whereby the return values of functions which are named `set` or `add`, *etc* were not being guessed correctly.
102 | - `@return` tags are now given a description field *(thanks to [Nick Dowdell](https://github.com/mikulad13))*.
103 | - **v2.6.0**, *4 March 2012*
104 | - Added CoffeeScript support
105 | - **v2.5.0**, *11 February 2012*
106 | - Implemented DocBlock reparsing to re-enable tabstop fields. Hotkey is `Ctrl+Alt+Tab`.
107 | - **v2.4.1**, *2 February 2012*
108 | - Fixed bug [#36](https://github.com/spadgos/sublime-jsdocs/issues/36) whereby docblocks were not being properly extended inside of `