I've been working in a large Ruby project using Vim with ctags. I have a git hook that generates an up-to-date tags file whenever I commit/pull/etc.
It basically boils down to
git ls-files | \
ctags --tag-relative=yes -L - -f ".git/tags" --languages=-javascript,sql
It takes about 1 second to run, and results in a 7MB tags file.
I'd like to start using Emacs for this project, but generating etags takes well over a minute and outputs an 8GB TAGS file. Here's the command I'm using to generate etags (only differences from the previous command are the -e
flag and the TAGS
filename:
git ls-files | \
ctags --tag-relative=yes -L - -e -f ".git/TAGS" --languages=-javascript,sql
Why is it such a huge file, and is there a better tags solution I can try?
etags
program that comes with Emacs? In 25.1, it's been much improved for Ruby code.etags
doesn't have the same command line options, but that runs much faster and the output file is actually smaller than the 7MB ctags file. Really makes me wonder what's going on withctags -e
, but so long as I have another working option, I'm happy. Thanks!