2017-01-08行ごとの編集状態、その3Azukiの開発が始まって以来おそらく一番難しい、セーブ時点の状態を基準に行ごとに編集状態を管理・表示する機能の実装ですが、あまりにも難しいのであきらめることにしました。テキスト全体が1つのギャップバッファになっているAzukiでは、行単位で何かをする機能は設計しにくい。本件も、おそらく各行を「UNDO/REDO機能を備えたバッファ」として作っておけばアッという間にできてしまうのではないかと想像しています。4/3の投稿ではDocument.Replaceメソッドの老朽化について触れましたが、それ以上に3/13の投稿で書いた基本設計の違いが大きいと今は考えています。頭で考えても紙に書いても思考が追いつかないのです...。Studioのエディタコンポーネントで特定文字の位置を計算する場合、一次元座標(ファイル先頭から文字数で数えたインデックス番号)よりも二次元座標(行番号と列番号で数える)の方が効率が良いと記されています。Studioの内部データ構造は行単位の構造になっているのかなと思います。私が知っている限り行の編集状態を「未編集・変更あり・保存後未編集」の3つで管理するアプリは知りません。あきらめが肝心ということで、次のバージョンで昔の仕様に戻します...悔しいですが...。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。