今開いている秀丸に対して grep したい #2
今開いている秀丸に対して grep したい - satosystemsの日記の続き。
割り切って外部の grep 実装部分を Java アプリとして実装してみたら、結構簡単に実装できてしまった。
外部アプリの選定条件として:
- 標準入力が UTF-16LE で読めること
- UTF-16LF のファイルが作成できること
というのがあって、GNU grep は 1 も 2 も NG なので、ツールを作らなければならず、候補として使用する言語に:
が挙がった。
Haskell は選定条件の 1 を満たしていなくて、Scheme もたぶん UTF-16LE をダイレクトに扱える処理系はなく、C++ は作りかけの DLL があるので、もっとも簡単に実装可能な Java を使ってみることにした。
C# も悪くない選択肢なんだけど、Eclipse を立ち上げちゃった後に気が付いたので時すでに遅し。
秀丸側で現在編集中のテキスト内容を取得するために、アクティブなウィンドウを切り替えなければならないのが動作的に痛い。また、切り替えたながら Java アプリを起動しちゃっているので、動作がもたもたする。
Java よ・・・、実装も処理も速いんだけど、起動だけはどうにもならんのか。
もたつきに関する改善方法はいろいろあるので、とりあえず今はこれでよいことにしよう。