Git Product home page Git Product logo

atom-easy-jsdoc's Introduction

Atom easy JSDoc package

Greenkeeper badge travis status dependency status

Atom package for quick jsdoc comment generation. Forked from Atom JS Doc by Craig Offutt

Install

apm install atom-easy-jsdoc

Usage

Control-Shift-d or Control-Shift-j to add comment templates.

To add comments for any piece of code, position the cursor anywhere on the line preceding the line you wish to comment on.

/**
 * functionComment - description
 *  
 * @param  {type} argA description
 * @param  {type} argB description
 * @param  {type} argC description
 * @return {type}      description
 */
function functionComment (argA, argB, argC) {
    return 'jsdoc';
}
/**
 * This is an empty comment
 */
var a = 'A';

Autocontinue

Comments now are automatically continued if the user hits enter (new line event) while inside of a block (/**..etc.).

Beta version

A complete rewrite with tests and using an AST instead of regular expressions is enabled behind the beta flag. Please note this is a true beta and although it works on my projects your mileage may vary.

Contribute

I'll be adding features periodically, however bug fixes, feature requests, and pull requests are all welcome.

atom-easy-jsdoc's People

Contributors

bcruddy avatar bkrem avatar coffutt avatar danpurdy avatar greenkeeper[bot] avatar mikemcelroy avatar pandaiolo avatar tgandrews avatar trizko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

atom-easy-jsdoc's Issues

Error in Typescript file when "Right Click" > "Add a JSDoc comment"

Bug report generated by ATOM:

[Enter steps to reproduce below:]

  1. Open a typescript file like this:
    getRect(target?):Rectangle{
        if (target) {
            return new Rectangle(this.xx - target.xx, this.yy - target.yy, this.width, this.height);
        }
        return new Rectangle(this.x, this.y, this.width, this.height);
    }
  1. Right Click > Add a JSDoc comment
  2. Atom will show this error:

Atom Version: 1.9.6
System: Windows 10
Thrown From: atom-easy-jsdoc package, v4.6.0

Stack Trace

Uncaught SyntaxError: Unexpected token (14:11)

At C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\location.js:25

SyntaxError: Unexpected token (14:11)
    at Parser.pp.raise (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\location.js:22:13)
    at Parser.pp.unexpected (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\util.js:89:8)
    at Parser.pp.expect (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\util.js:83:33)
    at Parser.pp.parseMethod (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\expression.js:893:8)
    at Parser.pp.parseClassMethod (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:827:8)
    at Parser.pp.parseClassBody (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:788:10)
    at Parser.pp.parseClass (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:666:8)
    at Parser.pp.parseExport (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:886:19)
    at Parser.pp.parseStatement (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:141:81)
    at Parser.pp.parseBlockBody (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:529:21)
    at Parser.pp.parseTopLevel (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\statement.js:36:8)
    at Parser.parse (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\parser\index.js:129:19)
    at Object.parse (C:\Users\xxxxxxxxxxx\.atom\packages\atom-easy-jsdoc\node_modules\babylon\lib\index.js:47:47)
    at getAST (C:/Users/xxxxxxxxxxx/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:25:22)
    at parse (C:/Users/xxxxxxxxxxx/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:242:15)
    at comment (C:/Users/xxxxxxxxxxx/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (C:/Users/xxxxxxxxxxx/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (C:/Users/xxxxxxxxxxx/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\xxxxxxxxxxx\AppData\Local\atom\app-1.9.6\resources\app.asar\src\command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (C:\Users\xxxxxxxxxxx\AppData\Local\atom\app-1.9.6\resources\app.asar\src\command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (C:\Users\xxxxxxxxxxx\AppData\Local\atom\app-1.9.6\resources\app.asar\src\command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchContextMenuCommand (C:\Users\xxxxxxxxxxx\AppData\Local\atom\app-1.9.6\resources\app.asar\src\atom-environment.js:1110:28)
    at EventEmitter.outerCallback (C:\Users\xxxxxxxxxxx\AppData\Local\atom\app-1.9.6\resources\app.asar\src\application-delegate.js:340:25)
    at emitThree (events.js:110:13)
    at EventEmitter.emit (events.js:188:7)

Commands

     -2:19.5.0 core:save (atom-text-editor.editor.is-focused)
     -2:19.4.0 linter:lint (atom-text-editor.editor.is-focused)
  2x -1:50.2.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:48 core:save (atom-text-editor.editor.is-focused)
  5x -1:47.9.0 linter:lint (atom-text-editor.editor.is-focused)
     -1:23.7.0 grammar-selector:show (atom-text-editor.editor)
     -1:08.5.0 linter:lint (atom-text-editor.editor)
     -0:57.3.0 core:save (atom-text-editor.editor.is-focused)
     -0:57.2.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:51.6.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:49.9.0 core:save (atom-text-editor.editor.is-focused)
     -0:49.8.0 linter:lint (atom-text-editor.editor.is-focused)
  2x -0:47.4.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:43.6.0 core:save (atom-text-editor.editor.is-focused)
  3x -0:43.5.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:05.8.0 jsdoc:block (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "jsdoc-generator"
    ],
    "packagesWithKeymapsDisabled": [
      "docs-snippets"
    ],
    "themes": [
      "atom-dark-ui",
      "monokai-complete-syntax"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true,
    "useReturns": true
  }
}

Installed Packages

# User
activate-power-mode, v0.7.3 (active)
ansi-to-utf8, v0.4.0 (inactive)
api-docs, v0.0.6 (active)
atom-easy-jsdoc, v4.6.0 (active)
atom-typescript, v10.1.6 (active)
autoclose-html, v0.23.0 (active)
br4ckets-dark, v1.0.0 (inactive)
docs-snippets, v0.8.0 (active)
duplicate-line-or-selection, v0.5.0 (inactive)
jsdoc-preview, v1.1.0 (active)
keyboard-localization, v1.4.18 (active)
language-blade, v0.25.3 (active)
laravel-5-snippets, v0.8.0 (active)
linter, v1.11.16 (active)
min-ui, v0.0.1 (inactive)
monokai-complete-syntax, v0.2.3 (active)
monokai-dark, v1.3.0 (inactive)
monokai-shade-src, v0.3.4 (inactive)
v-bootstrap4, v0.1.7 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (active)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (inactive)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (inactive)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.38.3 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.0 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.46.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.0 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Syntax highlighting?

I'm including a Doc Block I would like highlighted. Is that something this package attempts to achieve, or should I be looking for a different package for syntax highlighting?

screen shot 2017-05-29 at 2 50 47 pm

Support Flow annotations

class X {
  y(s: string, n: number) {
  }
}

Currently renders

class X {
  /**  
   * y - description  
   *    
   * @param  {type} s: string description   
   * @param  {type} n: number description   
   * @return {type}           description   
   */   
  y(s: string, n: number) {
  }
}

Types can be extracted after : if exist.

support es6 arrow functions

let square = x => x*x
const drawRect = (posX, posY, sizeX, sizeY, canvas) => {
    ...
}

comment template generation for these cases would be great.
is someone already working on this? Otherwise I'd be keen on implementing it.

Recognize ES6 arrow syntax

For example, when adding jsdoc for the following:

const hasIdentifier = el => el.hasAttribute('id') || el.hasAttribute('name')

Only a comment block is inserted:

/**
 * 
 */ 

The plugin doesn't add the param or return lines like it does for functions written in the traditional syntax.

Support ngdoc styling

could you support ng-doc style comments as well (use a checkbox to decide which to use)?

/**
 * @ngdoc function
 * @name [function name]
 * @description description
 *
 * ...

Uncaught Error: Unknown param type: NullLiteral

[Enter steps to reproduce below:]

  1. Press shortcut to generate docs on this block
export const ItemNotFoundError = (data = null) => {
  return Boom.notFound(
    'The item you are looking for does not exist.', data
  );
};

// OR


export function ItemNotFoundError(data = null) {
  return Boom.notFound(
    'The item you are looking for does not exist.', data
  );
}

Atom Version: 1.10.2
Electron Version: 0.37.8
System: Mac OS X 10.11.6
Thrown From: atom-easy-jsdoc package, v4.7.0

Stack Trace

Uncaught Error: Unknown param type: NullLiteral

At /Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:164

Error: Unknown param type: NullLiteral
    at parseAssignmentParam (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:164:11)
    at /Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:229:23
    at Array.reduce (native)
    at simplifyParams (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:227:17)
    at simplifyFuncNode (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:280:13)
    at simplifyNode (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:268:6)
    at parse (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:315:22)
    at comment (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

  6x -0:28.5.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:27.2.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:26.7.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:23.7.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:21.6.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:21.4.0 editor:newline (atom-text-editor.editor.is-focused)
  6x -0:21.1.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:19.6.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:19.3.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:16.6.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:13 core:move-down (atom-text-editor.editor.is-focused)
  2x -0:12.5.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:11 jsdoc:block (atom-text-editor.editor.is-focused)
     -0:01.8.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:01.8.0 core:cancel (atom-text-editor.editor.is-focused)
     -0:00.0 jsdoc:block (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "destroyEmptyPanes": false,
    "disabledPackages": [
      "restore-windows",
      "save-session",
      "linter-js-standard-jsx",
      "react",
      "linter-jshint"
    ],
    "followSymlinks": true,
    "projectHome": "/Users/jovanalleyne/Documents/Projects",
    "themes": [
      "native-ui",
      "monokai-dark"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true
  }
}

Installed Packages

# User
atom-cli-diff, v1.3.0 (active)
atom-easy-jsdoc, v4.7.0 (active)
atom-material-numix-syntax, v0.2.1 (inactive)
atom-material-syntax, v0.4.6 (inactive)
autoclose-html, v0.23.0 (active)
autocomplete-modules, v1.6.2 (active)
bottom-dock, v0.4.4 (active)
coffee-compile, v0.22.0 (active)
color-picker, v2.2.2 (active)
dockerletion, v0.2.0 (active)
dracula-theme, v1.2.8 (inactive)
file-icons, v1.7.19 (active)
git-log, v0.4.1 (active)
github-atom-dark-syntax, v0.2.0 (inactive)
go-quick-import, v0.2.1-rc.0 (active)
highlight-selected, v0.11.2 (active)
hyperclick, v0.0.37 (active)
language-babel, v2.38.0 (active)
language-docker, v1.1.7 (active)
language-jade, v0.7.2 (active)
language-javascript-better, v1.7.1 (active)
language-javascript-jsx, v0.3.7 (active)
language-nginx, v0.6.1 (active)
language-terraform, v0.7.4 (active)
linter, v1.11.16 (active)
linter-coffeelint, v1.1.2 (active)
linter-docker, v0.1.2 (active)
linter-eslint, v7.3.1 (active)
linter-js-yaml, v1.2.5 (active)
linter-jshint, v2.1.0 (inactive)
linter-less, v2.6.0 (active)
linter-swagger, v0.3.6 (active)
linter-tidy, v2.2.0 (active)
markdown-scroll-sync, v2.1.2 (active)
maximize-panes, v0.2.0 (inactive)
merge-conflicts, v1.4.4 (active)
minimap, v4.25.0 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-git-diff, v4.3.1 (active)
minimap-highlight-selected, v4.4.0 (active)
minimap-pigments, v0.2.1 (active)
minimap-selection, v4.4.0 (active)
monokai, v0.18.0 (inactive)
monokai-blackboard, v0.3.0 (inactive)
monokai-dark, v1.3.0 (active)
move-panes, v0.2.0 (inactive)
native-ui, v0.19.0 (active)
open-recent, v5.0.0 (active)
pigments, v0.34.0 (active)
pretty-json, v1.6.0 (active)
react, v0.16.0 (inactive)
seti-syntax, v1.0.1 (inactive)
seti-ui, v1.3.2 (inactive)
source-preview, v0.5.0 (inactive)
source-preview-less, v0.1.6 (inactive)
Sublime-Style-Column-Selection, v1.7.2 (active)
swap-panes, v0.2.0 (active)
todo-show, v1.7.0 (inactive)
travis-ci-status, v1.3.0 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Does not recognize default to new Class()

This code:

modal({ type = 'centralSmall', title = '', content = '', event = new EventData() }) {}

Generates:

Uncaught Error: Unknown param type: NewExpression
/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:188
Show Stack Trace
The error was thrown from the atom-easy-jsdoc package.  

Autocomplete not working.

Tried entering /**[ENTER] while over a JS function in a .js file, but it doesn't do anything.

Pressing the key shortcuts does work.

Uncaught SyntaxError: Unexpected character '#' (1:0)

[Enter steps to reproduce below:]

put cursor before:

function main()

and ran jsdoc block

Atom Version: 1.7.3
System: Mac OS X 10.10.5
Thrown From: atom-easy-jsdoc package, v4.5.0

Stack Trace

Uncaught SyntaxError: Unexpected character '#' (1:0)

At /Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:922

SyntaxError: Unexpected character '#' (1:0)
    at Parser.pp.raise (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:920:13)
    at Parser.pp.getTokenFromCode (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:2813:8)
    at Parser.pp.readToken (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:2508:15)
    at Parser.pp.nextToken (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:2500:71)
    at Parser.parse (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:1615:10)
    at Object.parse (/Users/andrew/.atom/packages/atom-easy-jsdoc/node_modules/acorn/dist/acorn.js:882:44)
    at getNode (/Users/andrew/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:207:21)
    at comment (/Users/andrew/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:273:16)
    at createComment (/Users/andrew/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/andrew/.atom/packages/atom-easy-jsdoc/lib/index.js:52:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -2:11.3.0 jsdoc-generator:out (atom-text-editor.editor)
     -2:00.7.0 open-in-browser:open-tree-view (span.name.icon.icon-file-text)
     -1:34.8.0 core:save (atom-text-editor.editor.is-focused)
     -1:20.9.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -1:19 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:19 jsdoc:block (atom-text-editor.editor)
     -0:28 core:move-right (atom-text-editor.editor.is-focused)
     -0:27.4.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
  2x -0:26.9.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:25 core:save (atom-text-editor.editor.is-focused)
     -0:10 core:backspace (atom-text-editor.editor.is-focused)
     -0:08.8.0 core:save (atom-text-editor.editor.is-focused)
     -0:04.2.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:03.1.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:01.4.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:01.4.0 jsdoc:block (atom-text-editor.editor)

Config

{
  "core": {
    "projectHome": "/Users/andrew/Development",
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true,
    "useReturns": true
  }
}

Installed Packages

# User
atom-beautify, v0.29.7
atom-easy-jsdoc, v4.5.0
atom-sync, v0.7.3
file-icons, v1.7.8
fonts, v1.2.0
highlight-line, v0.11.1
highlight-selected, v0.11.2
imdone-atom, v1.3.29
imdone-atom-github, v0.1.11
jsdoc-generator, v0.2.3
linter, v1.11.4
linter-eslint, v7.2.1
minimap, v4.23.2
mocha-test-runner, v0.4.7
node_modules, vundefined
open-in-browser, v0.4.7
remote-edit, v1.8.24
sync-settings, v0.7.2
terminal-plus, v0.14.5

# Dev
No dev packages

Option to limit comment continuation on /**

It would be great to be able to choose what kind of comments to do comment continuation on.

For example.

When I'm writting jsDoc comments I use /** (NOT //)

However I do use // to leave code comments (which are mostly short comments that don't need comment line continuation).

This plugin however does not let me limit to comment line continuation only to /**

Support es6 classes

When adding JSDoc next to class declarations and methods does just results in a generic block comment rather than picking up the metadata.

  • - Class definitions
  • - Class methods - By #2

Uncaught SyntaxError: Unexpected token (4:6)

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.8.0
System: Mac OS X 10.11.5
Thrown From: atom-easy-jsdoc package, v4.6.0

Stack Trace

Uncaught SyntaxError: Unexpected token (4:6)

At /Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:25

SyntaxError: Unexpected token (4:6)
    at Parser.pp.raise (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:22:13)
    at Parser.pp.unexpected (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/util.js:89:8)
    at Parser.pp.expect (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/util.js:83:33)
    at Parser.pp.parseBindingList (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/lval.js:188:12)
    at Parser.pp.parseFunctionParams (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:656:22)
    at Parser.pp.parseFunction (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:646:8)
    at Parser.pp.parseFunctionStatement (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:308:15)
    at Parser.pp.parseStatement (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:97:19)
    at Parser.pp.parseExportDeclaration (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:910:15)
    at Parser.pp.parseExport (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:898:29)
    at Parser.pp.parseStatement (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:141:81)
    at Parser.pp.parseBlockBody (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:529:21)
    at Parser.pp.parseTopLevel (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:36:8)
    at Parser.parse (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/index.js:129:19)
    at Object.parse (/Users/nukr/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/index.js:47:47)
    at getAST (/Users/nukr/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:25:22)
    at parse (/Users/nukr/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:242:15)
    at comment (/Users/nukr/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/Users/nukr/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/nukr/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -1:17 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -1:15.9.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
     -1:15.9.0 core:cancel (atom-text-editor.editor.mini.is-focused)
     -1:15.9.0 blur (atom-text-editor.editor.mini.is-focused)
     -1:15.3.0 settings-view:open (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  8x -1:15.2.0 blur (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -1:09.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:53.5.0 core:select-all (atom-text-editor.editor.mini.is-focused)
     -0:50.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
  4x -0:42.7.0 blur (atom-text-editor.editor.mini.is-focused)
     -0:12.7.0 pane:show-item-1 (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-dracula-theme.theme-dracula-ui)
  2x -0:05.4.0 tree-view:toggle-focus (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-dracula-theme.theme-dracula-ui)
  2x -0:05.2.0 blur (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
  4x -0:04.8.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:03.9.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -0:01.2.0 jsdoc:block (atom-text-editor.editor.vim-mode.normal-mode.is-focused)

Config

{
  "core": {
    "themes": [
      "dracula-ui",
      "dracula-theme"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true,
    "useReturns": true
  }
}

Installed Packages

# User
atom-easy-jsdoc, v4.6.0
auto-run, v0.2.1
autocomplete-go, v1.1.0
autocomplete-paths, v1.0.2
builder-go, v1.0.0
dracula-theme, v1.2.8
dracula-ui, v0.3.0
env-from-shell, v0.3.0
ex-mode, v0.10.0
file-icons, v1.7.17
git-time-machine, v1.5.3
go-config, v1.2.1
go-get, v1.0.3
go-plus, v4.1.0
gofmt, v1.1.6
gometalinter-linter, v1.1.0
gorename, v1.0.2
language-docker, v1.1.6
linter, v1.11.14
linter-eslint, v7.2.4
linter-flow, v5.4.0
navigator-godef, v1.0.3
terminal-plus, v0.14.5
tester-go, v1.0.4
vim-mode, v0.65.1

# Dev
No dev packages

Unavailable tag error should not be considered an error

I use Polymer and I'm building web components based on Polymer library.

Polymer elements that display a documentation for the element uses tags in comments (for some reason). It also causes that jsDoc shows an error message, even if that's not an error.

It should be either an option to turn error reporting on or there should be a setting to add custom rules.

Uncaught TypeError: Cannot read property 'name' of null

Hi there,

I have the beta AST enabled. It seems to trip up on destructuring function parameters like so:

export default function ({ param1, param2 }) {
  return param1 + param2;
}

I don't know if all the debug information is useful to you. I'm inclined to think not but I figured I'd leave it in just in case it is. If it's not, sorry for the noise.

Atom Version: 1.13.1
Electron Version: 1.3.13
System: Mac OS X 10.12.3
Thrown From: atom-easy-jsdoc package, v4.9.0

Stack Trace

Uncaught TypeError: Cannot read property 'name' of null

At /Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:277

TypeError: Cannot read property 'name' of null
    at simplifyNode (/Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:277:18)
    at parse (/Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:327:22)
    at comment (/Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/ryanr/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)

Commands

     -5:32.2.0 editor:newline (input.hidden-input)
  5x -5:31.5.0 core:backspace (input.hidden-input)
     -5:27.9.0 editor:newline (input.hidden-input)
     -5:19.1.0 core:save (input.hidden-input)
     -5:11.4.0 atomic-emacs:next-line (input.hidden-input)
     -5:11 core:backspace (input.hidden-input)
     -5:09.1.0 core:save (input.hidden-input)
     -1:27.8.0 tree-view:add-file (span.name.icon.icon-file-directory)
  5x -1:23.8.0 core:backspace (input.hidden-input)
     -1:14.1.0 core:confirm (input.hidden-input)
     -0:37.8.0 core:backspace (input.hidden-input)
     -0:35.2.0 editor:newline (input.hidden-input)
     -0:33.9.0 core:backspace (input.hidden-input)
     -0:33 editor:newline (input.hidden-input)
     -0:03.1.0 core:cut (input.hidden-input)
     -0:00.1.0 jsdoc:block (input.hidden-input)

Config

{
  "core": {
    "telemetryConsent": "limited",
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true
  }
}

Installed Packages

# User
atom-beautify, v0.29.16 (active)
atom-easy-jsdoc, v4.9.0 (active)
atom-ternjs, v0.16.1 (inactive)
atomic-emacs, v0.9.2 (active)
file-icons, v2.0.9 (active)
language-javascript-jsx, v0.3.7 (active)
linter, v1.11.21 (active)
linter-eslint, v8.0.0 (active)
linter-write-good, v0.8.0 (active)
markdown-preview, v0.159.3 (active)
react, v0.16.2 (active)
atom-dark-syntax, v0.28.0 (active)
atom-dark-ui, v0.53.0 (active)
atom-light-syntax, v0.29.0 (inactive)
atom-light-ui, v0.46.0 (inactive)
base16-tomorrow-dark-theme, v1.4.0 (inactive)
base16-tomorrow-light-theme, v1.4.0 (inactive)
one-dark-ui, v1.8.2 (inactive)
one-light-ui, v1.8.2 (inactive)
one-dark-syntax, v1.6.0 (inactive)
one-light-syntax, v1.6.0 (inactive)
solarized-dark-syntax, v1.1.1 (inactive)
solarized-light-syntax, v1.1.1 (inactive)
about, v1.7.2 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.14.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.33.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.29.0 (inactive)
autosave, v0.23.2 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.43.2 (active)
bracket-matcher, v0.85.1 (active)
command-palette, v0.39.1 (inactive)
deprecation-cop, v0.55.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.204.5 (active)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.2.0 (active)
go-to-line, v0.31.2 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.1 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.159.3 (active)
metrics, v1.1.3 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.2 (inactive)
settings-view, v0.244.0 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.5 (active)
status-bar, v1.6.0 (active)
styleguide, v0.48.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.1 (active)
timecop, v0.33.2 (active)
tree-view, v0.211.1 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.39.0 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.1 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Uncaught SyntaxError: Unexpected token (16:4)

[Enter steps to reproduce below:]

  1. Create a function definition
  2. Press shortcut to create comment block
  3. Comment block will be duplicated and syntax error popup
  4. Press undo to remove one of the comment blocks

Atom Version: 1.10.2
Electron Version: 0.37.8
System: Mac OS X 10.11.6
Thrown From: atom-easy-jsdoc package, v4.7.0

Stack Trace

Uncaught SyntaxError: Unexpected token (16:4)

At /Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:25

SyntaxError: Unexpected token (16:4)
    at Parser.pp.raise (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:22:13)
    at Parser.pp.unexpected (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/util.js:89:8)
    at Parser.pp.parseExprAtom (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:522:12)
    at Parser.pp.parseExprSubscripts (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:277:19)
    at Parser.pp.parseMaybeUnary (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:257:19)
    at Parser.pp.parseExprOps (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:188:19)
    at Parser.pp.parseMaybeConditional (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:165:19)
    at Parser.pp.parseMaybeAssign (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:128:19)
    at Parser.pp.parseExpression (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/expression.js:92:19)
    at Parser.pp.parseStatement (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:163:19)
    at Parser.pp.parseBlockBody (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:529:21)
    at Parser.pp.parseTopLevel (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:36:8)
    at Parser.parse (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/index.js:129:19)
    at Object.parse (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/index.js:47:47)
    at getAST (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:39:20)
    at parse (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:261:13)
    at comment (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:26:41)
    at createComment (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/jovanalleyne/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -4:43 core:confirm (atom-text-editor.editor.mini.is-focused)
  3x -3:42.6.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -2:44.7.0 editor:move-to-beginning-of-word (atom-text-editor.editor.mini.is-focused)
     -2:44.3.0 core:move-right (atom-text-editor.editor.mini.is-focused)
     -2:44 core:backspace (atom-text-editor.editor.mini.is-focused)
     -2:43.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:20.8.0 jsdoc:block (atom-text-editor.editor.is-focused)
  5x -1:17.9.0 core:undo (atom-text-editor.editor.is-focused)
     -1:15.4.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:15 core:move-down (atom-text-editor.editor.is-focused)
  2x -1:14.5.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:09.8.0 core:move-up (atom-text-editor.editor.is-focused)
     -1:09.2.0 core:move-to-top (atom-text-editor.editor.is-focused)
     -1:08.3.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:26.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.2.0 jsdoc:block (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "restore-windows",
      "save-session",
      "linter-js-standard-jsx",
      "react",
      "linter-jshint"
    ],
    "followSymlinks": true,
    "themes": [
      "one-dark-ui",
      "monokai-blackboard"
    ]
  },
  "atom-easy-jsdoc": {
    "beta": true
  }
}

Installed Packages

# User
atom-cli-diff, v1.3.0 (active)
atom-easy-jsdoc, v4.7.0 (inactive)
atom-material-numix-syntax, v0.2.1 (inactive)
atom-material-syntax, v0.4.6 (inactive)
autoclose-html, v0.23.0 (active)
autocomplete-modules, v1.6.2 (active)
bottom-dock, v0.4.4 (active)
coffee-compile, v0.22.0 (active)
color-picker, v2.2.2 (active)
dockerletion, v0.2.0 (active)
dracula-theme, v1.2.8 (inactive)
file-icons, v1.7.19 (active)
git-log, v0.4.1 (active)
go-quick-import, v0.2.1-rc.0 (active)
highlight-selected, v0.11.2 (active)
hyperclick, v0.0.37 (active)
language-babel, v2.37.1 (active)
language-docker, v1.1.7 (active)
language-jade, v0.7.2 (active)
language-javascript-better, v1.7.1 (active)
language-javascript-jsx, v0.3.7 (active)
language-nginx, v0.6.1 (active)
language-terraform, v0.7.4 (active)
linter, v1.11.16 (active)
linter-coffeelint, v1.1.2 (active)
linter-docker, v0.1.2 (active)
linter-eslint, v7.3.1 (active)
linter-js-yaml, v1.2.5 (active)
linter-jshint, v2.1.0 (inactive)
linter-less, v2.6.0 (active)
linter-swagger, v0.3.6 (active)
linter-tidy, v2.2.0 (active)
markdown-scroll-sync, v2.1.2 (active)
maximize-panes, v0.2.0 (inactive)
merge-conflicts, v1.4.4 (active)
minimap, v4.25.0 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-git-diff, v4.3.1 (active)
minimap-highlight-selected, v4.4.0 (active)
minimap-pigments, v0.2.1 (active)
minimap-selection, v4.4.0 (active)
monokai, v0.18.0 (inactive)
monokai-blackboard, v0.3.0 (active)
monokai-dark, v1.3.0 (inactive)
move-panes, v0.2.0 (inactive)
native-ui, v0.18.3 (inactive)
open-recent, v5.0.0 (active)
pigments, v0.34.0 (active)
pretty-json, v1.6.0 (active)
react, v0.16.0 (inactive)
seti-syntax, v1.0.1 (inactive)
seti-ui, v1.3.2 (inactive)
source-preview, v0.5.0 (inactive)
source-preview-less, v0.1.6 (active)
Sublime-Style-Column-Selection, v1.7.2 (active)
swap-panes, v0.2.0 (active)
todo-show, v1.7.0 (inactive)
travis-ci-status, v1.3.0 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (active)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (active)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Object spread operator marked as invalid javascript

Redux is heavy with Object.assign usage, so adopting the ES7 object-spread-operator is natural.

Unfortunately, it breaks this package.

e.g.

this.state = { course: { ...props.course }, errors: {}, saving: false };

The { ...props.course } will be seen as invalid JavaScript.

easy preview

First of all, thank you for this useful plugin.

Is it possible make "CTRL+SHIFT+D" (or another shortcut) toggles jsdoc asterisks and indentation? Or, in alternative, add a function "copy selected text in the clipboard without jsdoc format"?

I ask this because i'd like to preview the markdown i write, and it will be very easy if i had the ability to select text, copy in the clipboard, and then paste in a markdown live preview tool the text without jsdoc format.

I tried to use jsdoc-preview (probably a better solution than copy/paste in an external tool) but the preview didn't show :(

Thanks

Unexpected token when inserting a JSDoc comment

Error occurs when inserting a JSDoc comment for a method by either Ctrl+Shift+D or the option from the menu.

Atom Version: 1.9.9
System: Mac OS X 10.11.6
Thrown From: atom-easy-jsdoc package, v4.6.0

Stack Trace

Uncaught SyntaxError: Unexpected token (13:7)

At ~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:25

SyntaxError: Unexpected token (13:7)
    at Parser.pp.raise (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/location.js:22:13)
    at Parser.pp.unexpected (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/util.js:89:8)
    at Parser.pp.expect (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/util.js:83:33)
    at Parser.pp.parseExportSpecifiers (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:969:8)
    at Parser.pp.parseExport (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:902:28)
    at Parser.pp.parseStatement (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:141:81)
    at Parser.pp.parseBlockBody (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:529:21)
    at Parser.pp.parseTopLevel (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/statement.js:36:8)
    at Parser.parse (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/parser/index.js:129:19)
    at Object.parse (~/.atom/packages/atom-easy-jsdoc/node_modules/babylon/lib/index.js:47:47)
    at getAST (~/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:25:22)
    at parse (~/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:242:15)
    at comment (~/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (~/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (~/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -1:10.1.0 application:open (ul.list-inline.tab-bar.inset-panel)
     -0:07.4.0 linter:lint (atom-text-editor.editor.is-focused)
     -0:02.2.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:01.7.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:01.7.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:01.7.0 editor:indent (atom-text-editor.editor.is-focused)
     -0:00.0 jsdoc:block (atom-text-editor.editor.is-focused)

Config

{
  "atom-easy-jsdoc": {
    "beta": true,
    "useReturns": true
  }
}

Installed Packages

# User
angular-2-typeScript-snippets, v0.4.6 (active)
atom-beautify, v0.29.10 (inactive)
atom-easy-jsdoc, v4.6.0 (active)
atom-typescript, v10.1.5 (active)
linter, v1.11.14 (active)
linter-tslint, v0.10.0 (active)
ng2-snippets, v0.2.2 (active)
pp-markdown, v0.0.2 (active)
tool-bar-markdown-writer, v0.2.0 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (active)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (active)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.1 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.1 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.1 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'match' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.3
System: Ubuntu 14.04.4
Thrown From: atom-easy-jsdoc package, v4.5.0

Stack Trace

Uncaught TypeError: Cannot read property 'match' of undefined

At /home/sqrtt/.atom/packages/atom-easy-jsdoc/lib/regex/jsdoc.js:35

TypeError: Cannot read property 'match' of undefined
    at continueComments (/home/sqrtt/.atom/packages/atom-easy-jsdoc/lib/regex/jsdoc.js:35:25)
    at Object.module.exports.newline (/home/sqrtt/.atom/packages/atom-easy-jsdoc/lib/regex/jsdoc.js:127:9)
    at atom-text-editor.editorNewline (/home/sqrtt/.atom/packages/atom-easy-jsdoc/lib/index.js:61:20)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/atom/resources/app.asar/src/command-registry.js:260:29)
    at /opt/atom/resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/atom/resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/opt/atom/resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -2:52.7.0 bart:openConfig (atom-pane.pane.active)
     -2:48.5.0 docblockr:parse-enter (atom-text-editor#bart-watchlist.editor.bart-watchlist.is-focused)
     -1:29.2.0 core:paste (atom-text-editor.editor.is-focused)
 22x -1:25.3.0 editor:move-to-beginning-of-word (atom-text-editor.editor.is-focused)
  2x -1:20.2.0 core:move-left (atom-text-editor.editor.is-focused)
  3x -1:14.4.0 editor:move-to-beginning-of-word (atom-text-editor.editor.is-focused)
     -1:12.6.0 core:move-left (atom-text-editor.editor.is-focused)
     -1:11.8.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -1:11.8.0 editor:newline (atom-text-editor.editor.is-focused)
     -1:10.4.0 core:move-up (atom-text-editor.editor.is-focused)
  7x -1:09.8.0 editor:move-to-end-of-word (atom-text-editor.editor.is-focused)
     -0:20.9.0 core:select-all (atom-text-editor.editor.is-focused)
     -0:20.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:16.7.0 bart:openConfig (atom-text-editor.editor.is-focused)
     -0:13.3.0 docblockr:parse-enter (atom-text-editor#bart-watchlist.editor.bart-watchlist.is-focused)
     -0:13.3.0 editor:newline (atom-text-editor#bart-watchlist.editor.bart-watchlist.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "open-on-github",
      "ascii-art",
      "vim-mode",
      "atom-typescript",
      "linter",
      "jshint",
      "linter-flow",
      "ide-flow",
      "linter-flow-plus",
      "git-control",
      "activate-power-mode",
      "turbo-javascript",
      "node-debugger",
      "atom-jasmine"
    ],
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ]
  }
}

Installed Packages

# User
Bart, v1.1.0
Quick-JavaScript, v0.16.0
atom-easy-jsdoc, v4.5.0
atom-jshint, v2.0.0
atom-ternjs, v0.14.1
autoclose-html, v0.23.0
autocomplete-html-entities, v0.1.0
docblockr, v0.7.3
flow, v0.5.3
language-demandware, v0.1.0
language-javascript-semantic, v0.2.1
linter-eslint, v7.2.2
linter-jscs, v4.0.0
minimap, v4.23.5
minimap-cursorline, v0.1.0
pigments, v0.26.2

# Dev
No dev packages

Destructuring function argument

That is probably a tricky one :)

**
 * fadeOut - Description
 *
 * @param {type}   sound                        Description
 * @param {object} Unknown                      Description
 * @param {null}   [Unknown.currentVolume=null] Description
 * @param {number} [Unknown.step=0.02]          Description
 * @param {number} [Unknown.threshold=0.02]     Description
 * @param {number} [Unknown.delayInMs=50]       Description
 *
 * @returns {type} Description
 */
function fadeOut(sound,
  {
    currentVolume = null,
    step = 0.02 ,
    threshold = 0.02,
    delayInMs = 50,
  }) { }

And if not possible to do it automatically, what would be the JSDoc way to write that manually ?

Thanks !

Uncaught Error: Unknown param type: ArrowFunctionExpression

[Enter steps to reproduce:]

  1. Create a class
  2. add a constructor that takes as a parameter a fat-arrow function.
  3. give said parameter a default value of () => {} (an empty fat arrow function).
  4. Try to run with ctrl-shift-j or ctrl-shift-d

Atom: 1.23.3 x64
Electron: 1.6.15
OS: Ubuntu 17.10
Thrown From: atom-easy-jsdoc package 4.12.4

Stack Trace

Uncaught Error: Unknown param type: ArrowFunctionExpression

At /home/jhessin/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:196

Error: Unknown param type: ArrowFunctionExpression
    at parseAssignmentParam (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:196:11)
    at props.reduce.name (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:248:25)
    at Array.reduce (native)
    at parseDestructuredParam (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:242:6)
    at /packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:265:23
    at Array.reduce (native)
    at simplifyParams (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:263:17)
    at simplifyClassMethodNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:334:13)
    at simplifyNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:307:6)
    at parse (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:370:22)
    at comment (/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/packages/atom-easy-jsdoc/lib/index.js:24:29)
    at HTMLElement.jsdocBlock (/packages/atom-easy-jsdoc/lib/index.js:58:9)
    at CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:388:36)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/src/window-event-handler.js:108:40)

Commands

     -0:47.2.0 core:save (input.hidden-input)
     -0:40 intentions:highlight (input.hidden-input)
  3x -0:38.6.0 core:undo (input.hidden-input)
  6x -0:36.9.0 core:move-left (input.hidden-input)
     -0:35.2.0 core:backspace (input.hidden-input)
     -0:35 editor:newline (input.hidden-input)
     -0:34.4.0 intentions:highlight (input.hidden-input)
  3x -0:34 editor:move-line-up (input.hidden-input)
     -0:32.4.0 intentions:highlight (input.hidden-input)
     -0:32.2.0 core:save (input.hidden-input)
     -0:27.4.0 core:move-left (input.hidden-input)
  3x -0:26.7.0 core:backspace (input.hidden-input)
     -0:25.4.0 intentions:highlight (input.hidden-input)
     -0:24.6.0 core:save (input.hidden-input)
     -0:12.7.0 intentions:highlight (input.hidden-input)
     -0:12.1.0 jsdoc:block (input.hidden-input)

Non-Core Packages

atom-easy-jsdoc 4.12.4 
auto-softwrap 1.0.1 
autocomplete 0.47.0 
autocomplete-glsl 0.2.3 
autocomplete-modules 1.10.0 
busy-signal 1.4.3 
chary-tree-view 0.2.13 
city-lights-icons 1.1.1 
city-lights-syntax 1.1.6 
city-lights-ui 1.3.1 
hyperclick 0.1.5 
indentation-indicator 1.1.0 
intentions 1.1.5 
ir-black-k-syntax 0.2.3 
js-hyperclick 1.12.2 
language-json-comments 0.16.3 
linter 2.2.0 
linter-eslint 8.4.1 
linter-ui-default 1.6.10 
platformio-ide-terminal 2.8.0 
space-tab 0.4.2 
sync-settings 0.8.3 
tree-view-autoresize 2.3.0 
zentabs 0.8.9 

Custom templates

Hi :),

first of all thank you for the package!

I would like to ask you if you are planning to include custom templates. I am using JSDoc for a library and each function have two extra lines which I need to include by hand every time.

Thank you for the answer.

An in-range update of mocha is breaking the build 🚨

Version 3.4.0 of mocha just got published.

Branch Build failing 🚨
Dependency mocha
Current Version 3.3.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As mocha is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪

Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v3.4.0

Mocha is now moving to a quicker release schedule: when non-breaking changes are merged, a release should happen that week.

This week's highlights:

  • allowUncaught added to commandline as --allow-uncaught (and bugfixed)
  • warning-related Node flags

🎉 Enhancements

🐛 Fixes

🔩 Other

Commits

The new version differs by 9 commits0.

  • 7554b31 Add Changelog for v3.4.0
  • 9f7f7ed Add --trace-warnings flag
  • 92561c8 Add --no-warnings flag
  • ceee976 lint test/integration/fixtures/simple-reporter.js
  • dcfc094 Revert "use semistandard directly"
  • 93392dd no special case for macOS running Karma locally
  • 4d1d91d --allow-uncaught cli option
  • fb1e083 fix allowUncaught in browser
  • 4ed3fc5 Add license report and scan status

false

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Uncaught TypeError: Cannot read property 'getCursorBufferPosition' of undefined

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.18.0-beta0 x64
Electron: 1.3.15
OS: Mac OS X 10.12.5
Thrown From: atom-easy-jsdoc package 4.12.1

Stack Trace

Uncaught TypeError: Cannot read property 'getCursorBufferPosition' of undefined

At /Users/liucaihe/.atom/packages/atom-easy-jsdoc/lib/index.js:37

TypeError: Cannot read property 'getCursorBufferPosition' of undefined
    at continueComment (/packages/atom-easy-jsdoc/lib/index.js:37:25)
    at /packages/atom-easy-jsdoc/lib/index.js:61:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:265:1)
    at /Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:3:1
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:1)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:1)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom Beta.app/Contents/Resources/app/src/window-event-handler.js:100:1)
    at HTMLDocument.<anonymous> (/Applications/Atom Beta.app/Contents/Resources/app/src/window-event-handler.js:3:1)

Commands

  2x -6:40.5.0 core:backspace (input.hidden-input)
     -6:29.3.0 snippets:next-tab-stop (input.hidden-input)
     -6:29.3.0 snippets:expand (input.hidden-input)
     -6:29.3.0 editor:indent (input.hidden-input)
     -6:28.9.0 core:paste (input.hidden-input)
 18x -5:57.3.0 find-and-replace:select-next (input.hidden-input)
  2x -3:53.2.0 core:save (input.hidden-input)
     -3:44.8.0 intentions:highlight (input.hidden-input)
  3x -2:10.1.0 find-and-replace:select-next (input.hidden-input)
     -2:03.6.0 editor:delete-to-beginning-of-line (input.hidden-input)
     -2:03.2.0 core:backspace (input.hidden-input)
  2x -2:02.5.0 core:save (input.hidden-input)
  7x -1:44.5.0 core:backspace (input.hidden-input)
     -0:41.9.0 editor:newline (input.hidden-input)
  2x -0:32.2.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -0:02.5.0 editor:newline (input.hidden-input)

Non-Core Packages

activate-power-mode 1.4.0 
angularjs 0.4.0 
atom-easy-jsdoc 4.12.1 
atom-less 0.1.10 
autocomplete-paths 1.0.5 
autoprefixer 3.7.0 
busy-signal 1.4.1 
color-picker 2.2.5 
expose 0.14.0 
file-icons 2.1.6 
filecolor 0.4.0 
git-plus 7.8.0 
intentions 1.1.2 
language-jsx 0.1.1 
language-vue 0.21.2 
less-build 0.1.0 
less-compiler 0.6.2 
linter 2.1.4 
linter-eslint 8.1.7 
linter-ui-default 1.5.4 
simplified-chinese-menu 5.3.1 
vue-autocomplete 0.1.1 
vue-format 0.4.0 

Extra '*' character in block comments.

Hey there,

Just upgraded to v4.5.0, and I'm seeing extra * characters when pressing enter after /** [tab]. Here's a gif:

untitled

Let me know if there's any other information I can provide. Thanks!

Automatically insert jsdoc block when typing `/**`

It would be nice to automatically insert a jsdoc comment when the user enter /** It works like this in webstorm now and it makes the life a lot easier. Pressing Ctr + Shift + d is pretty hard to do every time. (You need to move your hand from the typing position if u want to press it.)

Support es6 function parameters

  • Object destructuring e.g. function A({ a, b })
  • Support default params e.g. function A(a = 'hello')
  • Support spread params e.g. function A(a, ...rest)

function as variable doesnt work

sets the function name as var or let

/**
 * let - description
 *
 * @param  {type} settings = {} description
 * @return {type}               description
 */
let mangonel = function(settings = {}) {
    settings = _.merge(defaults, settings);
};

or

/**
 * var - description
 *
 * @param  {type} settings = {} description
 * @return {type}               description
 */
var mangonel = function(settings = {}) {
    settings = _.merge(defaults, settings);
};
`

Uncaught Error: Unknown param type: Identifier

[Enter steps to reproduce:]

  1. Enabled "beta" and "@returns" in settings.
  2. Select js file and press either j or d

Atom: 1.14.4 x64
Electron: 1.3.13
OS: Mac OS X 10.12.3
Thrown From: atom-easy-jsdoc package 4.10.0

Stack Trace

Uncaught Error: Unknown param type: Identifier

At /Users/hugh/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:185

Error: Unknown param type: Identifier
    at parseAssignmentParam (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:185:11)
    at /packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:254:23
    at Array.reduce (native)
    at simplifyParams (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:252:17)
    at simplifyFuncNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:308:13)
    at simplifyNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:296:6)
    at parse (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:359:22)
    at comment (/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at /packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:259:29)
    at /app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:599:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:390:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/app.asar/src/window-event-handler.js:106:36)
    at /app.asar/src/window-event-handler.js:3:59)

Commands

     -1:10.3.0 editor:newline (input.hidden-input)
  3x -1:06.4.0 core:backspace (input.hidden-input)
     -1:03.1.0 editor:join-lines (input.hidden-input)
     -1:00.4.0 settings-view:open (input.hidden-input)
     -0:12.7.0 jsdoc:block (input.hidden-input)
     -0:06.2.0 core:move-left (input.hidden-input)
     -0:05.0 jsdoc:block (input.hidden-input)

Non-Core Packages

atom-easy-jsdoc 4.10.0 
file-header 1.13.1 
linter 1.11.23 
linter-js-standard 3.9.0 
nuclide 0.207.0 

do you change paste manner? please

do you change the way you paste jsdoc? please .

now use "atom-easy-jsdoc 4.12.5" to make a jsdoc wlii paste line by line

like this ex:

function test(a,b){
  return a+b
}

use atom-easy-jsdoc (ctrl+shift+j) will make

/**
 * test - description
 *  
 * @param  {type} a description 
 * @param  {type} b description 
 * @return {type}   description 
 */ 
function test(a,b){
  return a+b
}

but if i use "crtl+z"(undo)

atom will not undo all jsdoc , just will undo one line
like this :

/**
 * test - description
 *  
 * @param  {type} a description 
 * @param  {type} b description 
 * @return {type}   description 
 
function test(a,b){
  return a+b
}

i want to use ctrl+z will restore

function test(a,b){
  return a+b
} 

//-----------------------------------
Thank you very much for making such a convenient kit.
This greatly helped us m(_ _)m

...and sorry to my bad english QwQ

arrow function not recognized when it's an object's property value

Arrow functions are not recognized when declared as object's property value:

const Controller = {

  doSomething: async (param1, param2) => {
    // method
  }

}

This results as:

const Controller = {

  /**
   *   
   */
  doSomething: async (param1, param2) => {
    // method
  }

}

It is expected to be treated as normal function declaration.

Option to disable indentation alignment

Firstly, awesome plugin, thanks a lot.

When I ctrl+shift+d I get a jsdoc block which is all nicely aligned so my Descriptions start above each other. Cool. Trouble is, the minute I start changing the {type} to my actual type, the alignment gets out of whack.

Personally, I'd love to see a preference that lets me disable the alignment. I was also trying the dockblockr plugin and it has such an option, which is where I got the idea! :-)

function() with or without a space

When I insert a comment to a function declared like the following, it identifies that it is a method of this.

        /**
         * this - description        
         *          
         * @return {type}  description         
         */         
        this.functionWithoutSpace = function() {

        }

however, if I put a space between function and (), it calls it anonymous:


        /**
         * anonymous function - description        
         *          
         * @return {type}  description         
         */         
        this.functionWithSpace = function () {

        }

Arrow functions as variables

It's a great plugin, thank you. I'm just curious if you count in future with constructions like:

/**
 * renderShowcase - description
 *  
 * @param  {type} showcase description 
 * @return {type}          description 
 */ 
const renderShowcase = (showcase) => {
  ...
}

thx. Tom

Nested docs

Now nested docs are created:
Pressing Shift-Ctrl-J over:
function MyFunction(param1, param2) {
results in:

/**
 * MyFunction - description
 /** 
  *  
  /**  
   *   
   */   

  */  

 *  
 * @param  {type} param1 description 
 * @param  {type} param2 description 
 * @return {type}        description 
 */ 

Control-Shift-d not working

Hi I have installed the package in atom, but the shortcut is not working on windows.
Is anything missing? Please suggest

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

ES6 Support

Hey There! Great package mate

Just wondering about your plans develop it to ES6 syntax.

keep on going! :)

Support ES async function

class X {
  async y() {
  }
}

Renders:

class X {
  /**  
   * async - description  
   *    
   * @param  {type} z description   
   * @return {type}   description   
   */   
  async y(z) {

  }
}

async as a method name instead of y.

Needs to skip async if exists.

Adding JSDoc with the shortcut while cursor is on the "function" line

If I have a function like this:

function foo()
{
...
}

And press CTRL+SHIFT+J, while the cursor is on the "function" line, atom-easy-jsdoc generates:

function foo()
/**
 * 
 */ 

{
...
}

But I expect:

/**
 * foo - description
 *
 * @return {type}  description
 */
function foo()
{
...
}

But I get this behavior only if I place the cursor one line above the line with "function" in it.

Function name in the subject line

Hi @tgandrews.

First of all, thanks for your work :)

I am writing this issue because some teammates are using the plugin in their Atom IDEs and I want to know why are you including the name of function/method in the subject line.

I mean, for a piece of code such as

  cont someFunction = function () {
     ...
  }

the generated comment template is

/**
 * someFunction - description
 */

However, taking a look to @use JSDoc Getting Started and @use JSDic ES 2015 Classes I can not find any example where the name of the function is part of the subject.

So, I would like to know your point of view about this and suggest adding an option, if you do not want to remove the feature, to use it or not.

Uncaught Error: Unknown param type - When using a function as default value

When using a function as default parameter such as here :

class xxx() {
...
loadFile(fileIndex = mandatory()) {}
...
}

Returns an error:

Uncaught Error: Unknown param type: CallExpression
/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:172
Hide Stack Trace
Error: Unknown param type: CallExpression
    at parseAssignmentParam (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:172:11)
    at /Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:241:23
    at Array.reduce (native)
    at simplifyParams (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:239:17)
    at simplifyFuncNode (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:292:13)
    at simplifyNode (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:280:6)
    at parse (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:327:22)
    at comment (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/index.js:23:29)
    at atom-text-editor.jsdocBlock (/Users/Pro/.atom/packages/atom-easy-jsdoc/lib/index.js:54:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
    at /private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/private/var/folders/ly/rxdtkql964n11rrqxwx3htjm0000gn/T/AppTranslocation/ED742E57-BFD9-4113-A22B-972CC1BA920A/d/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)

Uncaught Error: Unknown param type: MemberExpression

This method is giving me this error:

export const fullApiUrl = (apiUrl, baseUrl = config.apiUrl) => customerNumber => {
  return typeof customerNumber !== 'undefined'
    ? `${baseUrl}/customers/${customerNumber}${apiUrl}`
    : baseUrl + apiUrl;
};

It is the default value for `baseUrl that is the culprit here.

  1. ctrl + shift + j in a js file with cursor at given function above

Atom: 1.19.4 x64
Electron: 1.6.9
OS: Ubuntu 16.04.1
Thrown From: atom-easy-jsdoc package 4.12.2

Stack Trace

Uncaught Error: Unknown param type: MemberExpression

At /home/alexander/.atom/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:193

Error: Unknown param type: MemberExpression
    at parseAssignmentParam (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:193:11)
    at /packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:262:23
    at Array.reduce (native)
    at simplifyParams (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:260:17)
    at simplifyFuncNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:316:13)
    at simplifyNode (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:304:6)
    at parse (/packages/atom-easy-jsdoc/lib/jsdoc/funcParser.js:367:22)
    at comment (/packages/atom-easy-jsdoc/lib/jsdocer.js:17:16)
    at createComment (/packages/atom-easy-jsdoc/lib/index.js:24:29)
    at HTMLElement.jsdocBlock (/packages/atom-easy-jsdoc/lib/index.js:58:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/src/command-registry.js:265:35)
    at /usr/share/atom/resources/app/src/command-registry.js:3:65
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/src/window-event-handler.js:100:42)
    at HTMLDocument.<anonymous> (/usr/share/atom/resources/app/src/window-event-handler.js:3:65)

Commands

     -0:19.4.0 tree-view:show (atom-workspace.workspace.scrollbars-visible-always)
     -0:16.4.0 intentions:highlight (input.hidden-input)
     -0:16.4.0 pane:show-next-recently-used-item (input.hidden-input)
     -0:16 pane:move-active-item-to-top-of-stack (div.panels-item)
     -0:15.3.0 pane:show-next-recently-used-item (div.panels-item)
     -0:15.2.0 pane:move-active-item-to-top-of-stack (input.hidden-input)
     -0:15.1.0 intentions:highlight (input.hidden-input)
  2x -0:15.1.0 pane:show-next-recently-used-item (input.hidden-input)
     -0:14.8.0 pane:move-active-item-to-top-of-stack (input.hidden-input)
     -0:13.4.0 intentions:highlight (input.hidden-input)
     -0:13 jsdoc:block (input.hidden-input)

Non-Core Packages

atom-easy-jsdoc 4.12.2 
busy-signal 1.4.3 
editorconfig 2.2.2 
file-icons 2.1.11 
hidpi 0.14.0 
intentions 1.1.5 
language-babel 2.73.0 
language-javascript-jsx 0.3.7 
linter 2.2.0 
linter-eslint 8.2.1 
linter-ui-default 1.6.7 
merge-conflicts 1.4.5 
pigments 0.40.2 
project-manager 3.3.5 
Stylus 3.1.1 
svg-preview 0.11.0 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.