👉 より詳細はCHANGELOG.mdを参照すること
👉 helixのwebsiteのフィーチャのみ
はじめに
本来は7月に出るようだったが,いろいろとありすぎて8月に延期になった
ところが,PRのマイルストーンがたまらないどころか増える
PRが溜まって割とレビューが大変そう
正直8月中には無理なんじゃないかと冷や冷やしながらプロジェクトを眺めていた
が,無事に滑り込みで8月31日にバージョン22.08が登場した
これを待てずに紹介第二弾として先に出してしまったので内容が半分かぶっている
ただ、紹介しきれていないギリギリ出マージされたいくつかの機能やテーマの修正などがあるので再度大雑把に紹介する
フィーチャされている機能
- Indent guides
- 言語設定したインデントごとにガイドを表示できる
- スペースを表示するよりも情報量が少なくインデントで判断できるので個人的には非常に良いなあと思っている機能
- Cursor line
- テーマが設定してあればカーソルのあるラインをハイライトできる
- 私が作ったtransparent themeはこれをつけると透明な背景にカーソル背景の灰色で一気に文字が見にくくなり入れるのを断念した
- Mode colors
- これもテーマで設定されていれば各モードごとに色がlightlineみたいに表示される
- すっきりとした見た目で個人的には気に入っている
- Configurable statusline
- 今まで固定化されていたファイル名などの位置を個人で設定できるようになった
- 情報が自分が設定した位置に簡単に配置できるのは良い
- nvim/vimだと割と設定が難しいがこれはtomlファイルで簡単に設定できる
- 逆に言えばスクリプトが必要な処理はまだ表示させることができない
- LSP signature help
- LSPを使って補完をすると、その補完のヘルプ(引数の情報)が追従して表示されるようになった
- Rustみたいな静的な言語で、関数を使うときに型情報が表示されるのでミスが減る割と便利な機能
- LSP document highlight
- カーソルの下にある文字をLSPを使ってハイライト表示できるようになった
- vimみたいに*で検索するのができるようになった
- helixでの*は選択箇所(デフォルトで一文字)のハイライトなのでコンボで単語を検索しやすくなった
- LSP diagnostics picker
- エラーの箇所をファイルピッカーを使って横断的にあいまい検索できる
- エラーを横断的に検索できるので、大きな変更を加えたときにこれを使ってエラーの範囲を見たりできるので便利
- Jumplist picker
- ファイルピッカーで保存したジャンプリストをあいまい検索して移動できる
- 前までは消したバッファに移動しようとしてhelixが強制終了するバグがあったのjumplist自体を使うのを控えていた
- まだ試しきれていないが、[”:write”, “:format”,”:save_jumplist”]みたいに組み合わせて、保存した場所ごとにジャンプできるのは便利かもしれない
- External formatter
- LSP以外のフォーマッタを設定できる地味に便利な機能
- そもそもまだフォーマッターがない言語や別のを使いたいときには言語設定でオフにする必要があったりと面倒くさかった
- これがあればプロジェクトのフォルダに.helix/languages.tomlを作ってLSPの設定を上書きできるので利便性が向上した
- Bracketed paste
- ペーストが綺麗にできるようになった
- helixではOSのペーストを利用していた
- これにより余計なインデントがhelix側で処理されてフォーマットが崩れる問題があった
- また、ペーストする量が多い時にペーストというより、めちゃくちゃ早い入力みたいなぬるぬるした動作になっていた
- これら問題が解消されたらしい
正直これ以上は細かい利便性の向上やバグの修正になるので割愛するので上記のCHANGELOG.mdを参照
終わりに
helix紹介第二弾でも説明したが、正直あともう少しだけ利便性が向上したらもうnvim/helixのライトユーザーはこっちに移行しても良いと思う
- 選択からのモーションという動作(nvim/vimと反対)
- 改行を一文字に含める(かなり厄介)
- 折り返しがない(個人的には問題ない)
これらエディタによって定められた制限を許せるならhelixはおすすめできるエディタになる
また,このエディタはあくまでもこれらは製作者さんの個人的な好みによってつくられており,既存のエディタ(vscode/nvim/vimなど)の代替を目標にしているのではないそう
私もこれら動きや制限を許せて,扱いやすさがnvim/vimに似ているのでお勧めしている
個人的に欲しいユーティリティの向上は以下の通り
- omni補完などの単語レベルの補完(一応PRは2個ほどある)
- エラーの文字を表示する位置がエラーの箇所と離れているので、エラーの箇所に欲しい(Matrix内で一応表示ができる改良があったりしたが、IssueはあるがPRはないと思う)
- gitのdiffをガターに表示してほしい(PRはある)
- 欲を言うとインラインメッセージとかで型情報が表示されるようになれば良い(PRはある)
これがあれば後はもう慣れるだけな感じになっている
プラグインはまだみたい
優れたプラグインはhelix本体に取り込むみたいな提案や、wasmではなくこの言語を使おう見たいな提案などいろいろとまだ混沌としている