[ 新規に投稿する ]

(開いているファイル全て) の grep についてNo.42454
western さん 26/01/20 13:19 [ コメントを投稿する ]
  お世話になります。

grep - (開いているファイル全て) に関する挙動についての要望です

■ grep ダイアログのヘルプ

grep ダイアログの [検索するファイル] の拡張として選択できる
(開いているファイル全て) について
ヘルプにこの機能に関する説明が無いように思います。

■ 要望

挙動としては、grep ダイアログからの視点と、検索ダイアログの視点があると思いますが
grep ダイアログからの検索で

(無題) の状態の秀丸も対象に出来る指定は可能でしょうか?

grep の出力に影響するので、副作用のない仕組みが必要ですが、
ファイルパス部分はウィンドウハンドルの値を含まれる何かになると思います
(タグジャンプ F10 で飛びたいので)

あるいは、
各秀丸ウィンドウにおける **現在の操作状態を全く崩さないまま** に、
マクロを駆使することで grep 相当の情報を得ることは実現可能でしょうか?

その秀丸ウィンドウにおいて何行目の何文字目(単位それぞれ)に含まれるか
をリストで取得する関数か、引数にオフセット情報いれて while みたいなものでしょうか

あるいは秀丸ウィンドウを回りながら gettotaltext() と strstr()/FindRegular で
含まれているウィンドウを見つけて、桁と行を取得するようなやり方でしょうか

もっとシンプルにマクロで組めるなら、活用する関数のヒント頂ければそれで自作します。

■ 検索ダイアログのヘルプ

検索ダイアログに [次の秀丸エディタも続けて検索] がありますが
フォーラムの以前の類似の質問の回答で

> 見つからないタブがあったら、飛ばすことはなく、いったんそこで止まります。

という挙動の説明がありますが、これもヘルプに解説が欲しい挙動となります。


よろしくお願いします
[ ]
RE:42454 (開いているファイル全て) の grep についてNo.42455
秀丸担当 さん 26/01/20 16:21 [ コメントを投稿する ]
  ヘルプについてのご指摘ありがとうございます。
修正しておきます。

grepの挙動に関しては、(現在の内容)を対象にすれば、現在の秀丸エディタ1つだけについては、(無題)状態であっても対象にできます。
(開いているファイル全て)を対象にした場合は、a.txt;b.txt;c.txtのようにファイルを羅列するのと同じで、(無題)状態は対象にならないです。
また、未保存の内容も対象にならないです。
機能としてそれができたらご要望があるということで、参考にさせていただきます。

参考までの情報になりますが、現在の操作状態を全く崩さないまま、無題や未保存の内容を対象にしたマクロを作ることは、かなり難しい部類になるか、現実的ではないです。
マクロは基本的に秀丸エディタ全体で1つの変数の空間のみ共有し、アクティブな前面にあるものが実行対象です。
変数ではなく外部から内容を取得するとしたら、DLL用の関数のHidemaru_GetTotalTextUnicodeや、JavaScriptでhttpサーバーを立てるなどの手法が考えられます。
それを受け付けるためには、あらかじめ1つ1つの秀丸エディタで何らかのマクロやDLLを実行しておく必要があり、秀丸エディタ間の通信が必要です。
そのため、一切の副作用無しにやるのは困難なことになると思います。
[ ]

[ 新規に投稿する ]