TAGS を作るコマンドライン

因みに、上のエントリで言語ごとに作成した、配布モジュールなどを入力とした TAGS ファイルを作成するコマンドは、それぞれこの様な感じにしてます。

Perl

$ find `perl -e 'print "@INC";'` -name \*.p[lm] | xargs etags -l perl

Ruby

$ find `ruby -e 'print $:.join(" ")'` -name \*.rb | \
  xargs etags --language=none --regex='/[ \t]*\(def\|class\)[ \t]\([^ \t]+\)/\2/'

Gauche

$ find `gosh -E'map (lambda (x) (display (string-append x " "))) *load-path*' -Eexit` -name \*.scm | \
  xargs etags

といった感じです。
それぞれ etags への言語の指定方法を変えてみました。いえ、特に意味はありません。

Gauche (gosh) の one liner って初めて書いたかも。
最初、`-Eexit' に気付けなかった。