2017-05-29AvalonEditのソースを読んでみたAzukiの内部構造がグチャグチャ感があるので、整理したい。Azukiの開発はクラスの数を増やさないというアプローチで進めていたため今になってモジュールがこんがらがっており、おいそれと試行錯誤できない状態になってしまった。そこで、細かくクラス分けしてあるAvalonEditのソースを読むことで、より良い構造を勉強することにした。興味があるのは選択状態の保持方法、および折り返し表示モードにおける折り返し位置の管理方法あたり。WPFは素人同然なので苦労したけれど、選択範囲の保持・管理の方法については理解できたのでメモがてらに記録しておく。2017-05-29テキストエディタの「範囲」オブジェクトへの代入を「該当範囲の置換」とみなす(今日は面倒なので、である調で書く)。2.0ではRangeオブジェクトを導入しようと考えている。2017-01-08既存の単体テストフレームワークを使うメリット?本日、Azukiプロジェクトで初めて既存の単体テストフレームワーク(NUnit)を導入しました。単体テストは導入していましたが、自作の小ぶりなテスティングフレームワークを使って書いていました。2017-01-08SourceForge.JPの「作業部屋」を少し試してみたSourceForge.JPの「作業部屋」を少し試してみました。目的があったわけではありませんが、新しいことをしないと沈殿して腐ってしまいそうなので。Editor」を読んだ。1.7.6をリリースしました。Azuki自体は基本的にバグ修正。AnnにはMRU(最近使ったファイル)機能を追加したので、日常的にAnnを使う人には嬉しいアップデートだと思います。interfaceとinterfaceを組み合わせて、DLL外に公開しないメンバを定義するC#という言語を使い始めて7年ぐらいは経つわけですが、Azukiの実装中に長いこと不満に思っていたコトが一つ解決しましたので備忘録。Azukiは一応最初からプラットフォームを抽象化して作ってあります。最近いろいろな意味でヤル気が無くなっていたけれど、久しぶりに更新。一年以上何もか書かなかったか。今日はテキストエディタの「選択範囲」という概念について、2点書いておこう。2017-01-08行ごとの編集状態、その3Azukiの開発が始まって以来おそらく一番難しい、セーブ時点の状態を基準に行ごとに編集状態を管理・表示する機能の実装ですが、あまりにも難しいのであきらめることにしました。本日「.NETでドラッグ&ドロップ」という記事を公開しました。WordPress.com.。