CTAGSが作成するTAGSファイルを秀丸エディNo.23336
makotosh さん 07/07/31 23:22
 
お世話になっております。

以下、見当ハズレの質問かもしれません。

CTAGS というツールが作成する TAGSファイルの出力形式を秀丸エディッタ
のTAGS形式に変換する方法はないものでしょうか?

CTAGSは、EMACSエディタ用形式のTAGSファイルを作成するのだそうで
す。このツールが秀丸のTAGS形式でTAGSファイルを変換して出力してくれれ
ばと思ったしだいです。

CTAGSは、

http://hp.vector.co.jp/authors/VA025040/ctags/

にあります。

ソースファイルが付属してくるので、どこかのソースに何らかの修正をすれば、秀丸
のTAGS形式に変換できるのかもしれませんが、自分には、どこをどう修正すれば
それができるのかわかりません。

見当ハズレの質問で、申し訳ありません。

[ ]
RE:23336 CTAGSが作成するTAGSファイルをNo.23337
h-tom さん 07/08/01 00:10
 

h-tom です。

変換しなくてもctagsをつかって、タグジャンプするマクロがありますよ。
  http://www5f.biglobe.ne.jp/~tefukin/

[ ]
RE:23337 CTAGSが作成するTAGSファイルをNo.23339
秀丸担当 さん 07/08/01 11:52
 

適当にWeb検索すると、htagsという秀丸エディタのtagsファイル形式に変換して
くれるソフトもあるようです。
変換する場合はctagsのオプションで行番号付きで出力する必要があるようです。

ctagsを行番号付きで出力するのであれば、正規表現の全置換で
検査も文字列:^([^\t]+)\t([^\t]+)\t([0-9]+).*$
置換文字列:\2(\3) : \1
としても簡単に変換できるのではないかと思います。


h-tomさんご紹介のマクロは、試してみたらうまく動きませんね。
とりあえず CTagsJump\Init.mac の
$BASE_DIR = currentmacrodirectory + "\\CTagsJump\\";
は、
$BASE_DIR = macrodir + "\\CTagsJump\\";
に書き換えないといけないはずです。
が、書き換えてもうまく動かないです。ううむ?
正規表現でのダイレクトタグジャンプが使えるとしたら、このマクロが動かせた
ら便利だと思うのですが。

[ ]
RE:23339 CTAGSが作成するTAGSファイルをNo.23340
takuara さん 07/08/01 16:29
 
下記以外に、

>とりあえず CTagsJump\Init.mac の
>$BASE_DIR = currentmacrodirectory + "\\CTagsJump\\";
>は、
>$BASE_DIR = macrodir + "\\CTagsJump\\";
>に書き換えないといけないはずです。

CTagsWrapper.mac(117行目)を下記のように、修正して使用しています。

dllfunc("NEWCONTROL", "refdirbutton", "CTagsDlg@Ref", "") == 0

dllfunc("NEWCONTROL", "refdirbutton", "CTagsDlg@Ref", "") == 0 ||


Init.macも修正内容が少し違いますが、たぶんどちらでもいける
と思います。

CTagsJump\Init.mac(17行目)

$BASE_DIR = currentmacrodirectory + "\\CTagsJump\\";

$BASE_DIR = currentmacrodirectory + "\\";

[ ]
RE:23340 CTAGSが作成するTAGSファイルをNo.23342
秀丸担当 さん 07/08/01 17:38
 

情報ありがとうございます。
動くようになりました。

[ ]
RE:23342 CTAGSが作成するTAGSファイルをNo.23346
makotosh さん 07/08/01 22:55
 
h-tom さん、takuara さん、秀丸担当さん、

回答ありがとうございます。

お陰様で、期待通りにダイレクトタグジャンプできるようになりました。変数等の定
義位置へ一発でジャンプできるので非常に便利になりました。

[ ]