……ダレた(笑)
気がついたらビルド番号が 155 になってるし……むむう。あとエンバグしてるんで辛いよな。それでも完成度が上がるたびに、エディタのクソさ加減が不釣合いだし。既に自分専用としては実戦配備してるんだけど(つーかバグ出しだけどね)、なんか使えんわー。
実は、AFEdit とかフリーのエディットは既に試しましたが、今一つ芳しくないですな。キーワード着色なら俺だってこんな苦労せんよ。で、TEditor っていうシェアウェアが気になってたり。あれはタグの着色とかできるらしい……自作じゃなければなんだって優秀かもしれないと思う今日この頃、皆様いかがお過ごしでしょうか。
まだダウンロードしてないけど、、、
マクロ周りがようやく仕様確定……の、一歩手前。マクロの置き換えは都合2回操作する事になってる。その結果として ${...} が現われても何もしない……はずだ。バグるかも知んないところが怖い(笑)
このあたりも今一つ、気に入らないのである。完璧に書きなおす日も近いな……が、どうして良いかさっぱりなので、今のところは改善策のみ実効。バージョンが上がってるのにバグバグで向上しない事を「デグレ」と言うらしいが、0.0.8 はまさにそれだった。
未定義のマクロ変数は入力ダイアログを表示するんだけど、キャンセルしたら例外が出る……だけならまだしも、例外で処理を飛ばされたせいで EndUpdate が実行されないで画面が止まったりとか(ハングではない)。
新規作成で2回目の新規作成がちゃんと作成できない(ファイル名が前回のバッファを利用してしまってた。)とか……付け焼刃が合言葉の仕様選択だからこんなもんだろうな。良い子の皆はちゃんと仕様を定めてからコーディングを始めましょう(笑)
ここいら辺のバグは、0.0.9 版ではなんとか対処しておいた。
あと気になってるのはユーザー定義ボタンの設定ウィンドウで、削除ボタンを押すと関係ないボタンが消えちゃったりとかするのな。ぐはっ!☆
画像のプレビューもなんだかおかしいしなぁ……
マクロの話に戻ろう。
一度置き換えが済んだら、もう一度全体をスキャンする。で、一度もマクロが現れなければ終了……。
これが一番、理想には違いのだが。効率がめちゃ悪い。で、今は「置き返した文字列がマクロかも知れない」で処理。だから3回目がないわけで、どうしたもんやら。
迂闊に '}' まで攻めると、ちゃんと閉じてないバグったソースで落ちたりとかね(笑)
一応、既知のバグへの対策が済めば印刷をサポートして、正式版にしようかと思ってるんだけど。
ただやはりマクロインタプリタの仕様がなぁ。C言語のプリプロセッサってどうやって処理してんのかな。
改善版の構想としては、'${' が見つかったら対応する '}' までを範囲として、再帰的に読む。ってところかな。今は遮二無二って感じで '}' までを置き換えちゃうんだけど、ネストに対応してないので没なの。でも、これだと範囲切り取りとマクロ検出とで同じ文字列を2回以上操作する事になるのな。ネストが深いとそれだけ重なるわけで。底を何とかできないもんか……ううーん。
再起だから終了条件でしくじると、エラいことになるんで慎重に取りかかろうってこった。様子見としては、begin 〜 end 構造(別に C 言語の '{' 〜 '}' でも構わないが)を読みこむテストでいこうか。
と言うわけで、次のが 0.0.9 版だよ〜ん。よよよーん。
だんだん肥大化してきて、試しに落とそうかって感じじゃないよな(笑) フォーム多すぎ(汗)
最大の追加点であるところのイメージ選択ダイアログ。タグの編集に特化して見た。${Image} マクロから呼ぶとが可能。