RE 18275 RE 18268 C言語のタグジャンプのNo.18390
KojiMatsui さん 04/11/23 01:42
 
Matsuiと申します。
遅くなりまして、申し訳ありません。

>>すいません。具体的にどうするのでしょうか?
>>(秀丸ハンドブックを調べているのですが、、、、)

> 正規表現(R) 行の強調1 文字列(S) ####
> OK 保存しないで更新
> #### の部分は .hilight の 21 の行を参考に
> 幾つか試してみる。
強調表示1、〜、強調表示4
に順に"正規表現"として
「^[_a-zA-Z][^\(=;:]*[ \t]+[_a-zA-Z][_a-zA-Z0-9]*\([^;]*$」
「^[_a-zA-Z][^\(=;:]*[ \t]+operator[^\(;]+\([^;]*$」
「^[_a-zA-Z][^\(=;:]*::[^\(;]+\([^;]*$」
「^[_a-zA-Z][_a-zA-Z0-9]*[a-z]+[_a-zA-Z0-9]*[ \t]*\([^;]*$」
を入力しました。

暫らくこれで使ってみます。

> 強調表示文字列の追加で、完全でないというのは、関数のプロトタイプ宣言であ
> るかどうかは、正規表現では対応しきれないからです。
> 関数のプロトタイプ宣言が複数行にまたがっている場合や、ヘッダファイルにあ
> るインライン関数への配慮などを考えると、限界があります。
うーん、そうですか。追跡してくれるのも限界があるんですね。

[ ]
RE:18390 RE 18268 C言語のタグジャンプのNo.18395
秀丸担当 さん 04/11/24 14:17
 

>強調表示1、〜、強調表示4
>に順に"正規表現"として
>「^[_a-zA-Z][^\(=;:]*[ \t]+[_a-zA-Z][_a-zA-Z0-9]*\([^;]*$」
>「^[_a-zA-Z][^\(=;:]*[ \t]+operator[^\(;]+\([^;]*$」
>「^[_a-zA-Z][^\(=;:]*::[^\(;]+\([^;]*$」
>「^[_a-zA-Z][_a-zA-Z0-9]*[a-z]+[_a-zA-Z0-9]*[ \t]*\([^;]*$」
>を入力しました。
>
>暫らくこれで使ってみます。

tagsファイルの作成で、ルールを(自動)またはhilightファイルを指定したとき
に有効なのは、「行の強調1」「行の強調2」だけです。
「強調1」〜「強調4」に指定しても有効ではありません。

また、上記の例では、たぶんヘッダファイル内の関数のプロトタイプ宣言にはヒ
ットしにくいと思います。
余計なものもヒットしてしまうかもしれませんが、
[_a-z][_a-z0-9]*[ \t]*\(
とすると、ヒットしやすいと思います。

非常にわかりにくいと思いますが、tagsファイルそのものを開いてみれば分かる
のではないかと思います。
最終的に、tagsファイルに目的の行が書き出されている形になっていれば、動作
します。

「tagsファイルの作成」を使わなくても、grep結果をtagsファイルとして保存し
てもいいし、手で書いたものをtagsファイルとして保存してもいいです。

[ ]