Neovim 0.11 以降で、プラグインなしでLSP
問題
nvimでプラグインなしでLSP対応するには?

答え
Language Server
php向けのlanguage-serverの一つ、phpactorを使ってみる。
https://phpactor.readthedocs.io/en/master/usage/standalone.html
curl -Lo phpactor.phar https://github.com/phpactor/phpactor/releases/latest/download/phpactor.phar
chmod a+x phpactor.phar
mv phpactor.phar ~/.local/bin/phpactor
これで、コマンド phpactor が実行できるようになる。
neovim側の設定
init.lua など、どこかに追記。
phpファイルを開いたら、lsp使ってね。phpactor使ってね。
vim.lsp.config('php_ls', {
cmd = { 'phpactor', 'language-server' },
filetypes = { 'php' },
root_dir = function(bufnr, on_dir)
local fname = vim.api.nvim_buf_get_name(bufnr)
local cwd = assert(vim.uv.cwd())
local root = vim.fs.root(fname, { 'composer.json', '.git', '.phpactor.json', '.phpactor.yml' })
-- prefer cwd if root is a descendant
on_dir(root and vim.fs.relpath(cwd, root) and cwd)
end,
})
vim.lsp.enable('php_ls')
以上。
nvim 0.11 以降なら、まずはこれだけで使い始められる。
0.11からデフォルトでLSP関連のキーマップが増えている。
足りないキーマップは追加で設定する。
コメント