😊
null-ls.nvimがアーカイブされちゃったので移行先としてefm-langserver(+nvim-lsp)を検討してみる)
この記事はVim駅伝 の2023年9月8日の記事です。
本来は2023年9月1日に公開予定だったのですが、その直前に高熱でぶっ倒れました(結果的にコロナでした)。
はじめに
2023年7月10日、全てのNeovimmerにとって悲しいお知らせがありました。
超大手のNeovimプラグインであるnull-lsのアーカイブ化が発表されました。
I’ve been struggling to find the time and energy to maintain null-ls, especially since I no longer use Neovim as my primary editor.
作者のjose-elias-alvarez氏、Neovim使わなくなっちゃったんですね...
「今までお世話になりました」という感謝の気持ちを抱きつつ、今後の移行先を検討しています。
その中で移行先の候補の一つである efm-langserver
をせっかくの機会なので触ってみたよ、という備忘録です。
(コロナ明けで記事を書く体力が無さすぎた...)
efm-langserverを触ってみる
今回の目標は、efm-langserver
経由で以下の2つのツールを使えるようにすることです。
luacheck
がLinter、stylua
がFormatterですね。
まずはインストール
私はgo install
でインストールしてます。
mason.nvim
のMason
(またはMasonInstall
)コマンドでインストールしてもいいと思います。
go install efm-langserver
Neovim(nvim-lsp)の設定を書く
私の場合はこんな感じで書いてます(要改良)。
local lspconfig = require("nvim-lspconfig")
lspconfig.efm.setup({
init_options = {
documentFormatting = true,
documentRangeFormatting = true,
},
settings = {
rootMarkers = {
".git/",
},
languages = {
lua = {
{
formatCommand = "stylua --color Never --config-path ~/.config/.stylua.toml -",
},
{
lintCommand = "luacheck --no-color --quiet --config ~/.config/.luacheckrc -",
lintFormats = { "%f:%l:%c: %m" },
},
},
},
},
filetypes = {
"lua",
},
})
終わりに
- 必要最低限の移行はできた...かな?
- 今回は
luacheck
とstylua
の設定はどちらも~/.config
下に置いた物を使っているけど、プロジェクトローカルなものを使えるようにしようとするなら工夫が必要かも?
Discussion