I\'m working with a very large code base and I find it useful to be selective about which directories are included for use with Exuberant Ctags.
The --exclude<
ack -f | ctags -L -
ack will list the source files in a given dir. You can limit the scope to a specific language with ack -f --ruby
or ack -f --type=ruby
. You can exclude dirs as well with --ignore-dir
.
Use ack --dump
to see the built-in file types for ack.
At some point it might be easier to define the list of files you do want indexed; save that list to a file, and use ctags -L <filename>
to index just the chosen few.
This lets you use find(1)
to prune the directories you don't want to index, e.g.:
find . -path ./Documentation -prune -o -print > indexme
would skip all the files in all subdirectories of ./Documentation
.