差分表示で思いつき(アウトライン解析とは無関係です)。
sakuraの差分表示は1文字毎なので、、、というのが以前ありました。
行単位の差分表示に対応するために、以下のような仕組みはどうでしょう。
現在、マーク用に bool を割り当てており、マークなら行番号のところ
に表示するようになってます。
CMarkMgr,CDocLine,CEditView ?
このboolをビット扱いにして管理できるデータ数を増加させます。
boolは1バイトだから8個までならデータ量が同じで済みます。
マークは変数を直接アクセスするのではなく、関数によって参照・設定
しているので対応可能です。
そして、そのうちの幾つかをdiff用に割り当てます(diffだけに限る必要
はないが)。
bit:1 通常のマーク
bit:2 diff+
bit:3 diff-
みたいになります。
ファイルの差分をdiff外部コマンドで行い、その結果をもらってマーク
を設定します。
表示ルーチンのところでは、bit値に従って行番号のところにマークを
(色・形を変えて)表示します。
できそうな気がしませんか。