Ruby でタグジャンプする方法

やっと分かったのでメモメモ。
けっこう時間がかかったけど、
分かってしまえばえらい簡単なので手短に。

  1. Exuberant CtagsからWindows版のctagsをダウンロード
    • ちなみにここのctagsは他のctgasとは違うみたい。
  2. 解凍して中のctags.exeの名前をetags.exeに変更
  3. etags.exeをc:\Meadow\binに移動
  4. TAGS(タグの情報が入ったテーブル)ファイルを作るために、テーブルを作りたいRubyスクリプトのあるディレクトリへ移動
  5. > etags * でTAGSを作成
  6. TAGSが出来ていることを確認
  7. Rubyスクリプトを開いて M-. でクラスやメソッドの名前を入れればその場所に一発ジャンプ!
    • TAGSの場所を聞かれたらエンターでOK。

ここに至るまでの経緯

関数定義に一発でジャンプできるタグジャンプなるものの存在を知る。
http://www.bookshelf.jp/soft/meadow_42.html#SEC622を見て試してみる。
なんかうまくいかない。
Meadowに標準でついているetagsじゃ、
Ruby用のタグテーブルは作れないのだと分かる。


タグジャンプについて調べてみる。
etagsやらgtagsやらrtgasやらctagsやら色々出てきて混乱。
rtagsがRuby用らしいので期待して調べてみる。
見つからない・・・。


http://tmaeda.s45.xrea.com/td/20040501.html#p02を見て、同じようなことをしていた人の存在を知り、同時にctagsがRubyをサポートしていることを知る。
今度こそと胸ときめかせながらctagsを調べてみる。
マニュアルが英語だったので日本語で使い方を教えてくれるところがないか調べてみる。
Manpage of CTAGS日本語対応版を発見!
ctagsを落としてきてbinに突っ込んで使ってみる。
M-. するとフォーマットが正しくないとかなんかそんな感じのエラーが出てがっかりする。
もうよく分からなくて嫌になる。


しばらくしてから、ctagsにMeadowで読み込めるようなタグテーブルを吐かせるオプションがあるんじゃないかと閃く。
Manpage of CTAGS日本語対応版を読んでいたら、

-e
etagsモードを有効にすることで、Emacs用のタグファイルを出力する。代わりに "etags"という文字列からはじまるコマンド名(実行ファイルの名前を変更したり、ソースコードのビルド時に"etags"にする)で、ctagsを実行しても、 etags モードが有効になる。このオプションは、ソースファイルよりも前に付加しなければならない。

というそのものずばりなオプションを見つける!(・∀・)やった!!
試してみたらうまくいった!やっほーー!!


ちなみにc:\Meadow\binに元々あったctags.exeとetags.exeは、
新しくダウンロードしてきたctags.exeで上書きした。
で、-eオプションを毎回付けるのが面倒なので、
片方の名前はetag.exeに変更してある。

追記

コメントで AS3 対応の ctags を教えて頂きました。
Almost perfect: ActionScript code browsing with jEdit’s Sidekick panel | Turdhead
Windows 用のバイナリ