💭

NeoVim - null-lsの代替となるか?none-lsについて

2023/10/19に公開

2023年8月12日、NeoVimのnull-lsライブラリがアーカイブされました。null-lsは、eslintやprettierなどのツールをダウンロードしてconfigファイルに簡単な設定を書いておくことで、フォーマットや診断、ホバーなどが各言語で網羅的に利用できる優れものでした。

アーカイブ後、代替案としてefm-langserverに移行する動きがNeoVim界隈で見られたように思いますが、プラグインの設定を見直し一から書き直すというのは骨の折れる重い作業です。
https://www.reddit.com/r/neovim/comments/150t159/null_ls_alternatives_solutions/

上記の理由から、8月12日以降はプラグインのアップデートもせずに静観していたのですが、ありました。その名もnone-ls.nvim

https://github.com/nvimtools/none-ls.nvim

たまたま、Redditで見かけて知ったプラグインで、コミュニティによるメンテナンスを目指しているようです。この点、null-lsがJose Alvarezさん個人の力で保守・運用されていたこと、また、該当リポジトリがアーカイブされたことを考慮すると、より破綻のしにくい運用を目指しているように見えます。

導入手順

none-lsの強みは、null-lsとの互換性にあります。

Replace jose-elias-alvarez/null-ls.nvim with nvimtools/none-ls.nvim in your choice of package manager.
That's it.

READMEにも記載の通り、下記を

local M = {
    "jose-elias-alvarez/null-ls.nvim",
    dependencies = {"nvim-lua/plenary.nvim", "vim-test/vim-test"}
}

下記のように置き換えるだけです。

local M = {
    "nvimtools/none-ls.nvim",
    dependencies = {"nvim-lua/plenary.nvim", "vim-test/vim-test"}
}

これだけで導入することができました。null-lsの移行先のひとつとして有力な選択肢になるのではないでしょうか。今後に注目です。

Discussion