{"id":13441853,"url":"https://github.com/heavenshell/vim-jsdoc","last_synced_at":"2025-04-05T01:09:18.074Z","repository":{"id":6429425,"uuid":"7668051","full_name":"heavenshell/vim-jsdoc","owner":"heavenshell","description":"Generate JSDoc to your JavaScript code.","archived":false,"fork":false,"pushed_at":"2023-05-23T15:11:20.000Z","size":2974,"stargazers_count":454,"open_issues_count":1,"forks_count":44,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-29T00:12:22.957Z","etag":null,"topics":["jsdoc","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heavenshell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-01-17T14:55:33.000Z","updated_at":"2025-01-19T19:02:18.000Z","dependencies_parsed_at":"2024-01-10T20:11:19.082Z","dependency_job_id":"15225bee-b04f-4f5d-a9a7-ab74ea3f154d","html_url":"https://github.com/heavenshell/vim-jsdoc","commit_stats":{"total_commits":160,"total_committers":28,"mean_commits":5.714285714285714,"dds":0.35,"last_synced_commit":"9234b2e2590e973c06113c05abd180de0c9dbcc1"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavenshell%2Fvim-jsdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavenshell%2Fvim-jsdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavenshell%2Fvim-jsdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavenshell%2Fvim-jsdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heavenshell","download_url":"https://codeload.github.com/heavenshell/vim-jsdoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271532,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jsdoc","vim"],"created_at":"2024-07-31T03:01:38.854Z","updated_at":"2025-04-05T01:09:18.056Z","avatar_url":"https://github.com/heavenshell.png","language":"Vim Script","funding_links":[],"categories":["HarmonyOS","Vim Script","Vim script"],"sub_categories":["Windows Manager"],"readme":"# jsdoc.vim\n\n![build](https://github.com/heavenshell/vim-jsdoc/workflows/build/badge.svg)\n\njsdoc.vim generates [JSDoc](http://usejsdoc.org/) block comments based on a function signature.\n\n![jsdoc.vim](./assets/jsdoc.gif)\n\n## Note\n\njsdoc.vim supports **Vim8**.\n\nNeovim works since v2.1.0, but if something wrong, send me pull requests to fix it.\n\nIf you want use old version checkout [1.0.0](https://github.com/heavenshell/vim-jsdoc/releases/tag/1.0.0).\n\n## Requirements\n\nNode v12.x or above.\n\n## Install\n\n### Vim Plug\n\n```\nPlug 'heavenshell/vim-jsdoc', {\n  \\ 'for': ['javascript', 'javascript.jsx','typescript'],\n  \\ 'do': 'make install'\n\\}\n```\n\n\u003cdetails\u003e\u003csummary\u003ePlugUpdate error\u003c/summary\u003e\n\u003cp\u003e\n  If you got `yarn.lock` related error,\n\n  ```console\n  error: Your local changes to the following files would be overwritten by merge:\n      lib/yarn.lock\n  ```\n\n  Run following command\n\n  ```\n  cd /path/to/plugged/vim-jsdoc\n  git checkout -- yarn.lock\n  ```\n\n  and re-run `PlugUpdate`\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Manual Installation\n\nSince version 2.0.0, jsdoc.vim requires a local copy [lehre](https://www.npmjs.com/package/lehre) installed to the plugin directory.\n\nYou can install lehre with:\n\n```console\n# cd to \u003cvim-jsdoc path\u003e\nmake install\n```\n\nIf you want to update `lehre` use:\n\n```console\nmake clean\nmake install\n```\n\nIf you want to install lehre manually, you can install from npm.\n\n```console\n$ yarn add -D lehre\n```\n\nSet installed `/path/to/node_modules/.bin/lehre` path to `g:jsdoc_lehre_path`.\n\n#### Installing on Windows\n\n```console\n# cd to \u003cvim-jsdoc path\u003e/lib\nnpm install\n```\n\nIf you want to set the path of [lehre](https://www.npmjs.com/package/lehre) manually on Windows, you should use the path with the file extension  `.cmd`, such as `/path/to/node_modules/.bin/lehre.cmd`.\n\n## Usage\n\n1. Move cursor on `function` keyword line\n1. Type `:JsDoc` to insert JSDoc\n1. Insert JSDoc above the `function` keyword line\n\n## Format\n\n1. Type `:JsDocFormat`\n1. Insert JSDoc above the all signatures\n\n## Configuration\n\nOption                     |Default       |Description\n:--------------------------|:-------------|:-----------------------\n**g:jsdoc_templates_path** |''            |Path to custom template.\n**g:jsdoc_formatter**      |'jsdoc'       |Document block formatter, `jsdoc`, `esdoc`, `tsdoc`\n**g:jsdoc_lehre_path**     |'./lib/lehre' |Path to [`lehre`](https://www.npmjs.com/package/lehre).\n\n## Formatter\n\nYou can choose formatter from [JsDoc](https://jsdoc.app/), [ESDoc](https://esdoc.org/), [TSDoc](https://github.com/microsoft/tsdoc).\n\nIf you want to create your own template, see [example template](https://github.com/heavenshell/ts-lehre/tree/master/examples).\n\n## Interactive input\n\nSince ver 2.0.0 input `Allow prompt for interactive input` is deprecated.\n\nIf you want input Interactively, use snippet plugin.\n\nSee [snippet example template](./examples/snippet_template.js).\n\n## Keymap\n\nYou can add following setting to .vimrc\n\n```vim\nnmap \u003csilent\u003e \u003cC-l\u003e \u003cPlug\u003e(jsdoc)\n```\n\nAlternatively, you could add the following setting to your .vimrc to search for the last `function` declaration\nand puts your jsdoc above it:\n\n```vim\nnmap \u003csilent\u003e \u003cC-l\u003e ?function\u003ccr\u003e:noh\u003ccr\u003e\u003cPlug\u003e(jsdoc)\n```\n\n## Thanks\n\n- This plugin based on https://gist.github.com/3903772#file-jsdoc-vim written by [NAKAMURA, Hisashi](https://gist.github.com/sunvisor)\n\n- The idea of npm packages installation is from [vim-lsp-settings](https://github.com/mattn/vim-lsp-settings).\nHighly applicate [@mattn](https://github.com/mattn/) and all vim-lsp-settings contributors.\n\n## LICENSE\n\nNew BSD LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavenshell%2Fvim-jsdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheavenshell%2Fvim-jsdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavenshell%2Fvim-jsdoc/lists"}