Skip to content

v0.8.0 — 操作性の穴を22個埋めました

Choose a tag to compare

@tacyan tacyan released this 09 Aug 02:45
· 341 commits to main since this release
68424ec

操作性の穴を22個埋めました。 superset・VS Code・cmux・orca・Zed を調査し、「これが無いと使えない」欠落から順に潰しています。

エディタとして成立させた

これまでアプリ内で完結できなかったことを直しました。

  • Gitのコミット・push・pull・ハンク単位ステージング・履歴 — ステージまではできるのにコミット欄が無く、必ずターミナルへ落ちる必要がありました
  • .gitignoreを尊重し、索引の打ち切りを表示node_modulestargetが索引を食い潰し、8000件で無言で打ち切るためモノレポで⌘Pが壊れていました
  • 未保存の内容を再起動後に復元(Hot Exit) — これまでは失われていました。ディスク側が変わっていたら黙って上書きせず、差分を見せて選ばせます
  • マルチカーソルで実際に編集できる — ⌘Dは「選ぶ」だけで、打鍵は1箇所にしか入りませんでした
  • 取り消し履歴を自前で持つ — 整形やコードアクションも1回の⌘Zで戻せます
  • ドラッグ&ドロップでの移動と同名衝突の確認・ごみ箱・ツリー上での⌘Z — 移動先に同じ名前があっても黙って上書きしていました

VS Code相当へ

検索の正規表現・大小区別・単語単位・「前へ」・全ヒット強調 / 診断の波線とホバー /
対応括弧の強調と虹色括弧 / 縦ルーラー / インデント自動判別 /
タブのMRU切替・ピン留め・プレビュータブ / ⌘Pの最近使った順・:123行ジャンプ・@シンボル /
2打鍵ショートカット(⌘K ⌘S)とキーバインド編集画面 / 設定画面 /
問題パネルのワークスペース全体表示 / ターミナルのファイルパスとURLをクリックで開く /
東アジア文字幅の正確な計算と日本語変換中のショートカット保護

AIコックピットとして

  • 追従モード — エディタが、動いているAIの編集箇所を追いかけます。自分でスクロールすると止まります
  • 未読カーソル — 「今どれが自分待ちか」へ1打鍵で移動できます
  • 状態検知の刷新 — 画面の見た目から推測するのをやめ、構造化出力とフックを使います。判定がどこから来たかも表示するので、その判定がどれだけ当てになるか分かります
  • worktree隔離起動と衝突検出 — 2体が同じファイルを触っていたら、レビュー時ではなくその場で警告します
  • 差分レビューの集中モード — 「2 / 5」と残件を出し、]f/[fでファイル間を移動できます
  • 通知を「作業が終わった瞬間」だけに — 鳴りっぱなしをやめました
  • プリセットの⌃1〜⌃9起動 / セッションの自動命名 / トークン消費と推定コストの表示 / 並走レースの勝者評価

品質

  • 3,134テスト(前版比 +567)、macOS・Linux・Windows の3OSすべてでCI通過
  • cargo fmt --check差分なし、clippy警告ゼロ
  • 新しい依存パッケージは1つだけ(Windowsのごみ箱API用。cfg(windows)限定で他OSのビルドには入りません)

既知の制限(正直に)

  • アイドル時に約13fps描画しています(今回入れた性能計測で判明。次版で対処します)
  • 行単位のステージングはハンク単位まで(行選択のUIがまだありません)
  • Windowsのごみ箱のみ⌘Zで戻せません(APIがごみ箱内のパスを返さないため。通知でお知らせします)
  • ターミナルのOSC 8ハイパーリンクは未対応