Inside exuberant ctags (1)
exuberant ctags(以後ctags)は --exclude オプションで指定したフォルダ下を解析対象外にできますが、実はデフォルトでいろんなフォルダを解析対象外にしています。
具体的にはctags 5.7(j1)のソースコード option.c の initOptions() は以下のようになっています。
extern void initOptions (void) { OptionFiles = stringListNew (); verbose ("Setting option defaults\n"); installHeaderListDefaults (); verbose (" Installing default language mappings:\n"); installLanguageMapDefaults (); /* always excluded by default */ verbose (" Installing default exclude patterns:\n"); processExcludeOption (NULL, "{arch}"); processExcludeOption (NULL, ".arch-ids"); processExcludeOption (NULL, ".arch-inventory"); processExcludeOption (NULL, "autom4te.cache"); processExcludeOption (NULL, "BitKeeper"); processExcludeOption (NULL, ".bzr"); processExcludeOption (NULL, ".bzrignore"); processExcludeOption (NULL, "CVS"); processExcludeOption (NULL, ".cvsignore"); processExcludeOption (NULL, "_darcs"); processExcludeOption (NULL, ".deps"); processExcludeOption (NULL, "EIFGEN"); processExcludeOption (NULL, ".git"); processExcludeOption (NULL, ".hg"); processExcludeOption (NULL, "PENDING"); processExcludeOption (NULL, "RCS"); processExcludeOption (NULL, "RESYNC"); processExcludeOption (NULL, "SCCS"); processExcludeOption (NULL, ".svn"); }
主にバージョン管理システムの管理用フォルダですね。
もし、これらのフォルダ下も解析対象にしたい場合は --exclude オプションをパラメータ無しで指定して下さい。(そんな機会はあまり無いと思いますけど)
(例)
ctags --exclude= -R
(補足)
--verbose オプションを付ければctagsの詳細動作状況が標準出力に出力されます。
※ --verbose オプションは真っ先に指定しましょう。ctagsは --verbose オプションを認識した時点から詳細出力を始めます。