OREMATOPEE

プログラミング、気になったこと、メモ書き...etc

NeovimにluaのLSPを導入する(sumneko)

参考

github.com

注意点

  • 事前にNeovimのlspconfigを導入しておくこと
  • ルートパスにgit cloneしてきたリポジトリの場所を指定すること
  • linuxmacなどそれぞれのOSに適したlua-language-serverを指定すること

手順

sumnekoのビルドにnijaというものが必要なのでインストールする

$ brew install ninja

ninjaを入れたら、sumnekoをダウンロード

cd .config/nvim
git clone https://github.com/sumneko/lua-language-server
cd lua-language-server
git submodule update --init --recursive

sumnekoのモジュールをビルド、コンパイルする

$ cd 3rd/luamake
$ compile/install.sh
$ cd ../..
$ ./3rd/luamake/luamake rebuild

あとはconfigファイルに以下を記載する。

local sumneko_root = vim.fn.stdpath('cache') .. '/lspconfig/sumneko_lua/lua-language-server'

lspconfig.sumneko_lua.setup{
  cmd = {
    sumneko_root .. '/bin/macOS/lua-language-server',
    '-E',
    sumneko_root .. '/main.lua',
  },
  capabilities = custom_capabilities(),
  settings = {
    Lua = {
      runtime = { version = 'LuaJIT', path = vim.split(package.path, ';') },
      diagnostics = {
        enable = true,
        globals = {'vim'},
      },
    }
  },
}