jsctags generator using tern
For access to the binary:
npm install -g git+https://github.com/ramitos/jsctags.gitOtherwise, add to your project's package.json under dependencies or dev-dependencies:
"jsctags": "git://github.com/ramitos/jsctags.git"$ jsctags [--dir=/path/to] /path/to/file.js [-f]$ cat /path/to/file.js | jsctags [--dir=/path/to] [--file=/path/to/file.js] [-f]By default, jsctags will output a JSON file. Use the -f flag to output an exuberant ctags-compatible file.
var jsctags = require('jsctags'),
fs = require('fs')
var file = '/path/to/file.js'
var dir = '/path/to/'
var content = fs.readFileSync(file, 'utf8')
jsctags(file, dir, content, function(e, tags) {
console.log(tags)
})If you'd like to take a JavaScript project and generate a tags file that Vim can parse, you can use the below command. It searches your directory for any .js files, excluding ./node_modules, formats the tags correctly for Vim and outputs them into tags.
find . -type f -iregex ".*\.js$" -not -path "./node_modules/*" -exec jsctags {} -f \; | sed '/^$/d' | sort > tagsIf you would like tags generated for files within node_modules/, just remove the -not -path "./node_modules/* part of the command:
find . -type f -iregex ".*\.js$" -exec jsctags {} -f \; | sed '/^$/d' | sort > tags- arguments
- autothis
- browser
- builtins
- cautiouspropagation
- copyprops
- ctorpattern
- docstrings
- effects
- extends
- finddef
- fn_arguments
- generic_each
- global_this
- infinite-expansion
- jsdoc
- merge
- new_array
- new_to_prototype
- object_create
- objnames
- plus
- proto
- protoname
- replace_bogus_prop
- simple_generic
- simple
MIT