Thursday, October 30, 2008

Tag, you're it

When I started writing ruby I missed the convenience of a tags file for jumping around in vim to different parts of a project. After a bit of digging I found rtags to replace my beloved exuberant-ctags. Today I updated my metasploit trunk and, since it had been awhile since I had updated tags, I also ran rtags. Normally rtags is slow. Running it in the metasploit source tree typically takes several minutes. Today it seemed to hit infinite loops in multiple files, taking more than ten minutes on a single file before I killed it, added that file to the exclude list, ran it again and walked away for a while. After running into this a dozen times or so over the course of the day, I decided to switch tactics. As it turns out, exuberant-ctags has support for ruby, and probably has had it since before I started using rtags.

root framework3 # time ctags --exclude '.svn' \
--exclude=documentation/ --exclude=external/ \
--exclude=data --recurse .

real 0m0.742s
user 0m0.616s
sys 0m0.092s


No comments: