viMarkdown の概要、主な特徴、操作方法、ロードマップ、ビルド方法等を知りたい方は README_ja.md を参照してください。
※ windows版: ビルドや環境構築は不要です! 本ページ下部の Assets からZIPをダウンロードして解凍するだけで、すぐに起動できます。
v0.3.032 リリースノート
1. 並列Diff(差分比較)表示の大幅なアップデート
- 対応行を揃える「ダミー行」の動的制御
- 差分計算(dtl)の実行結果に基づき、左右の表示行を綺麗に揃えるためのダミー行の自動挿入処理を実装しました。
- 変更ブロック(置換行)がある場合についても、左右の行数を合わせるために過不足分のダミー行を挿入するよう改善しました。
- 新しい差分計算を行う際、以前に挿入されていた古いダミー行が残留して二重挿入される不具合を修正しました。
- ダミー行のビジュアルデザインの調整
- ダミー行であることが一目で判別できるよう、背景をグレー(ニュートラルカラー)で描画する処理を追加しました。
- ダミー行の領域には、行番号および改行マーク(
↵)を表示しない仕様に変更し、視認性を高めました。
- データ構造とオプションの調整
- 差分結果(削除、追加、変更)を行単位で判別し、行番号情報とともに
QTextBlock::userStateに個別に格納・参照できる内部構造を実装しました。 - 差分データのアウトプット出力を「削除された行」「挿入された行」「変更があった行」に細分化して分類出力するように改善しました。
- Diffモード表示中は、左右のレイアウトを綺麗に保つため、エディタの「右端での折り返し(Word Wrap)」を強制的に無効(OFF)にする仕様に変更しました。
- 差分結果(削除、追加、変更)を行単位で判別し、行番号情報とともに
2. UIおよび操作性の向上
- ツールバーに「Diff」コマンドを実行するための専用のアクションボタンおよびアイコンを追加しました。
- Diffモード時に、比較先(右側)の文書に対して不要なマークダウン書式の構文強調(ハイライト)が適用されてしまう不具合を修正しました。
3. 不具合修正・ビルド安定性の向上(クラッシュ対策など)
- 差分更新処理が走った際に、再帰呼び出し(再入)によってスタックオーバーフローが発生し、アプリがクラッシュする不具合を修正しました(再入禁止フラグの実装)。
- 比較元(左側)の文書を編集した際にも、リアルタイムに差分再計算処理が正しくトリガーされるよう同期不具合を修正しました。
- 特定の改行を含む比較パターン(「a\nb\nc\n」と「a\nc\n」など)において、diff結果のアウトプット出力が一部不正になる不具合を修正しました。
- 差分関連の処理を独立した
diff.cppに整理・分離し、QtCreatorでのビルド時に発生していた未定義エラーを解消しました。