Neovimのdiagnosticの設定を見直す
Neovim docsのDeprecated(:h deprecated
)を見ていたらvim.diagnostic.config
を使っていろいろ設定できることを把握。
せっかくの機会なのでNeovimのDiagnosticの設定を見直すことにしました。
virtual_textのformat
筆者は、お怒りになっている方・理由を知るためにdiagnosticのformatを変更しています。
このルールだけはオフにしておきたいな、というときに怒られ元が分かると便利なんです。textlintとか。
このformatの変更について、LSP・none-ls.nvimの2つに分けて紹介します。
LSPの怒られ
以前書いた記事の時点ではハンドラを書き換えていましたが、vim.diagnostic.config
で書けるようです。
format
の関数の中身はそのままです。
これについては当時の調査不足なのか、普通に後から書けるようになったのか、当時は何らかの理由でvim.lsp.handler
を使う必要があったのか、正直分かりません。
none-ls.nvimの怒られ
none-lsについても触れます。
none-lsで扱うものはLSPではないため、vim.lsp.handlers
を使っていたころはdiagnostics_format
の設定が別途必要でした。
しかし、vim.diagnostic.config
を使うことでformatの指定がLSPではないnone-lsにも設定できるようになりました。diagnostics_format
を使うと二重に表示されてしまうことになるため、消します。
update_in_insert
挿入モードのときにdiagnosticを更新させないupdate_in_insert
をfalse
に設定していました。
こちらもvim.diagnostic.config
で設定できるようになった!と思い設定しましたが……。
ドキュメントをよく読んだところ、デフォルトがfalse
だったので設定しなくて良かったようです。
sign_defineからvim.diagnostic.configへ
バージョン0.10から、:sign-define
とsign_define()
がDeprecated(非推奨)になるようです。
ちなみに筆者はNeovimの更新をサボってv0.9.4であるため、まだ試しておらずコメントアウトにしています。
Code Actionのプラグインを見直す
ついでにLSP関連のプラグインも見直しました。nvim-code-action-menuがアーカイブされていたようです。
Code Actionのアクションを適用したらどうなるのかプレビューで表示してくれて便利だったのでした。
代わりとして、actions-preview.nvimを使うことにしました。
Nerd Fonts
LSPもろもろの設定をしているとたまにNerd Fonts
のアイコンを検索したくなるのでNerd Fontsのチートシートを張っておきます。
ついでによく使いそうな検索ワードも載せておきます。
内容 | 検索ワード |
---|---|
バツ印 | remove 、x |
警告 | warn |
i マーク | info |
電球 | lightbulb 、bulb |
虫眼鏡マーク | magnify |
虫マーク | bug |
バッテリー | battery |
以上、NeovimのDiagnosticとCode Actionの見直しでした。