関数名をマクロで取得したいNo.31145
Yossi さん 12/04/18 18:13
 
お世話になります。

C/C++/C# のソース編集中に
マクロで以下のようなコードを埋め込みたいのですが

 printf("c:\\cpp\\src\\test.cpp(10) f_abc(int a)\n");

ファイルのフルパス名とカーソルの行数は発見できたのですが
カーソルのある関数名
上記で言えば f_abc(int a) のような関数名を取得する方法はないでしょうか?
よろしくおねがいします。m(_ _)m

[ ]
RE:31145 関数名をマクロで取得したいNo.31146
秀まるお2 さん 12/04/19 08:48
 
 僕もデバッグ目的で関数名を入れることがありますが、いつも手作業でやって
ました。

 マクロでやるとしたら、今考えた所では、こんなマクロでだいたいうまくいく
ような気がします。どうでしょうか。

    disabledraw;
    $save = searchbuffer;
    #save = searchoption;
    #x = x; #y = y;
    #ytop = screentopy;
    down;
    prevfunc;
    searchdown "(\\s|)\\(", regular;
    if( selecting ) {
        escape;
    }
    beginsel;
    searchup "(^|\\s)", regular;
    $funcname = gettext( seltopx, seltopy, selendx, selendy );
    escape;
    moveto #x, #y;
    setsearch $save, #save;
    enabledraw #ytop;
    message $funcname;

[ ]
RE:31146 関数名をマクロで取得したいNo.31147
Yossi さん 12/04/19 11:54
 
> マクロでやるとしたら、今考えた所では、こんなマクロでだいたいうまくいく
>ような気がします。どうでしょうか。

スバラシイ! 一発で実現できました。
ありがとうございます。

[ ]