SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
てるてる動画

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関連のキーマップが増えている。

足りないキーマップは追加で設定する。

関連するメモ

コメント