萌ディタの日記にツッコミ2004Q3
つづき。
難しい話が多くなってきて、読んでもわからないことも多い。
http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2004Q3.html
>ぎょえ(仮)がちょっと楽しみだったりします
もう.NETのぎょえは継続する気がなくて真魚だがな。
>ショートカットファイルをドロップしたとき
テキストを含む、ドキュメントファイルのショートカットを作ったことがないので気がつかなかった。
真魚は全然対応してない。
>1 行入力コンボボックス
Googleツールバーとかよく使うし、テキストエディタにもあれば使うのかな。
作ってみようかな。
>検索セット
これはわかりづらい。興味なし。
>bm 法、あるいは kmp 法で検索するかどうか
あまり速くならないってーか、やらんでも遅くないって感じだった。
>1 回置換するごとに再表示すると遅くてたまりません
そりゃそうなんだけど、解決法がそれで良いとは思わないしどうした物か。
>バッファ構造をよく知る正規表現エンジン
そうなのよ。だがあたしにゃ正規表現とか作るのは無理っぽい。
だからこそ逆に、エディタに合わせて検索作るんじゃなくて、
検索しやすいバッファを持つエディタを作って、既存の正規表現を使うことにした。
当初.NETの正規表現がそのまま使い物になったのでね。
現在の非.NETな正規表現がちゃんと動いているかは、使ってないのでわからん。
>たとえば (.|¥n)* とか
真魚はCRとLFが混在できる仕様なので、正規表現も(.|¥r|¥n)*でないとダメだが、
ちゃんとキャレット以降の全てのテキストがマッチする。
んでも¥nでCRLFもマッチするように変更した方が良いのかもな。
そうしないとちゃんと動かない場合もあるし。
>正規表現での後方検索をどうするか
前方で連続して検索したときと、後方で連続して検索したときが、
ちょうど逆の順番で同じ所にヒットするように工夫してみた。
>検索後のキャレット位置
真魚はメモ帳と同じで、どっちから検索しても範囲の右端。
でも逆の方がいいってのは同意。
>^(=*)*$
エラーを返すタイプだな。*で0かもしれない物をカッコで*だから仕方がない。
>X(.+)+X
これは+だからエラー出さないで検索できるが時間がかかる。
時間はかかるがメモリー食いつぶすような動作はしてないようだが。
正規表現はわからんということで。
まぁ正規表現に詳しい人が真魚なんて安易な物は使わないだろうし別にいいか。
>Undo の情報もけっこうな量になってしまう
Undo情報がいっぱいになってしまうからといって制御すると、Undoが途中で出来なくなるわけだ。
一方、メモリーがUndoに食われてもスワップするだけで編集は続行できる。
TEditor時代に悩んだが、無制限で設定も出来ない方が良いということにした。
>再現してくれたのはぎょえ(仮)と Ziro くらい
そんな変な処理?TEditorからまんまパクッてるとばかり思ってたが。
>すべて置換した場合は、 Undo すると
そういう処理にしたいとは思うけど難しいかもなんだよね。
TNotePadとそれ以外の部分という分離がなされているのがそれを許さない。
>色分け
真魚は正規表現じゃなくてベタベタでやってるので、根性さえあればどこまでも出来る。
正規表現を使うと根性あるほど重くなるらしいので、はじめからベタベタでやってる。
まぁ、正規表現で表せる程度の色分けならDelphiでも簡単に書けるからね。
スピードを犠牲にする必要はない。
問題は根性が無くて書く気が起きないことだが。