retag is commandline tool and shell plugin that watches for file changes in a directory and incrementally rebuilds your ctags file for the files which have changed.
To use this tool, Exuberant Ctags must be installed and working.
You can install
cargo install retag, or as a ZSH plugin.
retag automatically watch your Git projects when you CD into them, you can install this repository as a ZSH plugin.
Otherwise, you can run it from the command line. Use
retag --help for more information.
(The ZSH functionality currently requires
start-stop-daemon for creating PIDfiles and daemonization. I'm planning to add support for that directly in the Rust code eventually, to remove the need for
start-stop-daemon and improve Windows support)
PRs adding support for other shells are highly welcome!