Skip to content

ver 0.3.020 dev

Latest

Choose a tag to compare

@vivisuke vivisuke released this 09 Jun 22:26
· 2 commits to main since this release

日本語: README_ja.md 、英語:README.md

※ 💡 windows版: ビルドや環境構築は不要です! 本ページ下部の Assets からZIPをダウンロードして解凍するだけで、すぐに起動できます。

バージョン 0.3.020 dev リリースノート

今回のアップデートでは、折りたたみ機能の高度化、vi互換の検索関連コマンドの大幅な拡充、および内部的なデータ構造の最適化を行いました。

1. 折りたたみ(フォールド)機能の高度化とデザイン改善

  • 一括操作コマンドの実装
    • ファイル全体のすべての折りたたみ状態を一括操作する zM(すべて折り畳み) および zR(すべて展開) コマンドに対応しました。
  • 表示デザインの刷新
    • エディタ左端の折りたたみ・展開表示ボタンを、より視認性の高い塗りつぶし三角形( / )のベクター描画に変更しました。
  • ネスト(入れ子)構造の維持
    • 小見出しを折りたたんだ状態で大見出しを折りたたみ、その後大見出しを再展開した際に、小見出しの折りたたみ状態が勝手に解除されず、正しく非表示(折りたたまれたまま)に維持されるよう挙動を修正しました。

2. vi互換コマンドの拡充(検索・移動機能の強化)

  • 単語検索(* コマンド)の追加
    • カーソル位置にある単語を瞬時に前方検索する * コマンドに対応しました。
  • 再検索コマンド(n / N)の実装
    • 直前の検索パターンに基づいて、順方向(n)および逆方向(N)への再検索を行えるようにしました。
  • / および ? 検索の入力・挙動改善
    • コマンドラインでの検索テキスト入力後に Enter キーで検索を実行できるようにしました。
    • 検索・再検索時にマッチしたテキストを選択(反転)表示させず、マッチ箇所の先頭にカーソルだけを移動させる標準的な挙動(Vim準拠)に調整しました。
    • 検索履歴(m_lastSearchedPat)をグローバルで管理するようにし、各種検索間で一貫してパターンが共有されるよう整理しました。
  • インサートモード終了時の挙動修正
    • 文字入力(i, a など)を終了して Esc キーでコマンドモードに遷移した際、カーソル位置が自動的に左へ1文字分移動する標準的な挙動に修正しました。

3. プレビューのビジュアル向上

  • SVGブロックのセンタリング
    • プレビューペインに挿入されるSVG画像のレンダリング結果を中央揃え(センタリング)で表示するように変更し、ドキュメントの視認性を向上させました。

4. 内部リファクタリングおよびデバッグ支援

  • QTextBlock::userState を用いた状態管理の最適化
    • 行種別(ブロックタイプ)の情報を userState の下位8ビットに集約し、各種アクセス用のヘルパー関数(blockType(), setBlockType(), blockFolded(), setBlockFolded())を実装してデータ構造を整理しました。
    • 新規ブロック(初期値 -1)に対するビット反転演算時の不具合を解消し、上位ビット(折りたたみフラグ等)の意図しない上書きを防止しました。
  • デバッグツールの追加
    • Test メニューに、各ブロックの userState を16進数でダンプ出力するデバッグコマンドを追加しました。