This is Taginator, the last tags generator you need.
Start Taginator at your system startup or user login and it generates fresh tags files for each of your projects. After that it watches your project for file changes and updates the tags file if you change a file. If you change more files, e.g. with a git rebase/checkout, Taginator waits till there are no change notifications any more and generates the complete tags file again.
npm install -g coffee-scriptto make sure coffee-script is globally installed
git clone http://github.com/hoschi/taginator
npm install -g taginator
Create the file
/.taginator.json and put your project configurations in an array.
Here is an example configuration:
Run taginator with your config or the example config and browse to http://localhost:3000/ to see an explanation of your configuration.
namethe name of the project
cwdthe current working directory of your project and base path for
outputfile path for the tags file
extensionsvalid file extensions to generate tags for
ctagArgsstatic arguments for the ctags command passed on every call for this project
inputDirsfor the ctags command
globswhich select the files should be watched
This project uses the library
node-glob, so Windows users also must use forward
slashes instead of back slashes. Please read the note at the end of
~/ as a shortcut for your home dir is ok at all OSs.
cwd property must have a trailing slash so it can be removed safely from
found files to make them relative paths. This config property is not optional!
Start Taginator and let it update your tags files automatically :)
In vim I had to set the tags file in my
~/.vimrc the following way
to enable jumping between tags:
Use nodemon to automatically restart the app:
nodemon -e .coffee,.js,.json -w /home/YOURHOMEDIR/.taginator.json -w . --exec coffee taginator.coffee