grepダイアログで「検索するファイル」の指No.10475
izoka さん 24/11/14 15:11
 
grepダイアログで「検索するファイル」の指定で「▶」から
「ファイルの種類の設定」で設定してあるワイルドカードのグループを検索するファイ
ルに呼び出せますが、マクロでコレを指定する方法はありますでしょうか?


[ ]
RE:10475 grepダイアログで「検索するファNo.10477
izoka さん 24/11/14 15:16
 
「▶」 > 「>」 になります。

[ ]
RE:10477 grepダイアログで「検索するファNo.10479
igus さん 24/11/14 19:20
 
//検索ファイルを指定してgrep.mac

setmenudelay 700;
mousemenu
"&G grep",           // 1
"&D grepダイアログ";  // 2
#r=result;

beginclipboardread;
if(selecting){$s=getselectedtext();
}else{$s=getclipboard;}

if(#r==0){endmacro;
}else if(#r==1){   //【G】 grep
  grep $s, "*.txt;*.mac",".";
}else if(#r==2){   //【D】 grepダイアログ
  grepdialog2 $s, "*.txt;*.mac",".";
}

[ ]
RE:10475 grepダイアログで「検索するファNo.10480
こみやんま さん 24/11/14 20:06
 
これって「C言語」みたいな指定で、
"*.c;*.cpp;*.h" という文字列を取得したい、 ということですよね?

多分、マクロだけだと出来ないんじゃないですかね。
currentconfigset からの広がりもないし。

おそらく、C#なりで、レジストリの
HKEY_CURRENT_USER\Software\Hidemaruo\Hidemaru
の下にぶら下がっている「.」から始まる階層(例:「.cpp」)をすべて収集し、
それが現在のマクロ定数 「currentconfigset」(かもしくは指定のファイルタイプ
名)と一致するものを全て集めることで、

「.h」と「.c」と「.cpp」を収集し、これを「*.h;*.c;*.cpp」に加工した後、
マクロのgrep関数の引数として指定する、みたいな形になるかと思いますよ。

慣れてたら数分でdllとかは作れるとは思いますが、
マクロだけだとopenreg は決め打ちで値を読めるだけだから、
無理なんじゃないのかなぁ。

[ ]
RE:10480 grepダイアログで「検索するファNo.10481
h-tom さん 24/11/14 22:10
 
h-tom です。

>マクロだけだとopenreg は決め打ちで値を読めるだけだから、
>無理なんじゃないのかなぁ。
"Software\Hidemaruo\Hidemaru\Env\CustomSpec" の情報を読めばいいのでマクロで
も可能でしょう。

[ ]
RE:10481 grepダイアログで「検索するファNo.10482
こみやんま さん 24/11/14 22:27
 
>"Software\Hidemaruo\Hidemaru\Env\CustomSpec" の情報を読めばいいのでマクロで
>も可能でしょう。

「ファイルの種類の設定」についてはそこにあるんですねぇ。
これよくみると、
・「ファイルタイプの設定」の拡張子と名前
・「ファイルの種類の設定」の拡張子と名前

は別々なんですねぇ。

[ ]
RE:10479 grepダイアログで「検索するファNo.10483
izoka さん 24/11/15 11:06
 
>  grepdialog2 $s, "*.txt;*.mac",".";

示していただいたようなベタ書きではなく、秀丸側の設定から取得したいという意図
になります。

[ ]
RE:10482 grepダイアログで「検索するファNo.10484
izoka さん 24/11/15 11:10
 
>これって「C言語」みたいな指定で、
>"*.c;*.cpp;*.h" という文字列を取得したい、 ということですよね?
意図としてはご確認いただいている通りになります。
currentconfigset からマクロ起動時の適用ファイルの種類の設定名称はありますが。


>>"Software\Hidemaruo\Hidemaru\Env\CustomSpec" の情報
やはりここのレジスタから取得処理することになるでしょうか。
気づいていないだけで、簡単な方法があれば、だったのですが。

[ ]
RE:10484 grepダイアログで「検索するファNo.10485
秀丸担当 さん 24/11/15 18:46
 
grepの[ファイルの種類の設定...]の設定は、[その他]→[動作環境]→[ファイル]→
[ファイルの種類の編集...]と同等です。
これをマクロの文などから直接取得する方法はサポートされていないです。
やるとしたら、既に試されているように、レジストリから取得するしかないです。
このダイアログでOKしていなかったり、設定内容を保存したことが無い場合など、素
の状態ではこのレジストリキーが無いので、他の人も使うマクロにする場合は注意が
必要です。

[ ]
RE:10485 grepダイアログで「検索するファNo.10486
izoka さん 24/11/15 19:55
 
ご回答ありあがとうございます。
承知しました。

[ ]