Open6

[Neovim] coc.nvimのextensionとしてLuaのLanguage Serverを入れたい

korallekoralle

Neovimの設定を全部Luaで書き始めている。
できればLuaのLanguage ServerもNeovimで利用できたらうれしい。

coc.nvimは既に入れているので、そのextensionとしてLuaのLanguage Server最初はとりあえず :CocInstall coc-luaを実行。

そうしたらどうやらこんなエラーが出た。

korallekoralle
  1. Lua用のLanguage Server(lua-language-server)を手動でインストール
  2. :CocConfigcoc.nvimの設定ファイルを開いてlua-language-serverの設定を書く

でいけるっぽい。

korallekoralle

クローンしてきたリポジトリを ~/.lua-language-serverに置いた。

git clone https://github.com/sumneko/lua-language-server ~/.lua-language-server

で、インストールが終わったら1つシンボリックリンクを貼っておく。

 ln -s ~/.lua-language-server/bin/Linux/ /home/koralle/.local/share/lua-language-server/bin/Linux
korallekoralle

で、次に coc-settings.jsonの設定をいじる。
もしかしたらインデント崩れてるかも???

 {
         "languageserver": {
                 "lua": {
                         "command": "/home/koralle/.local/share/lua-language-server/bin/Linux/lua-language-server",
                         "args": [
                                 "-E",
                                 "/home/koralle/.local/share/lua-language-server/bin/Linux/main.lua"
                         ],
                         "filetypes": ["lua"],
                         "settings": {
                                 "Lua": {
                                         "workspace.library": {
                                                 "/usr/share/nvim/runtime/lua": true,
                                                 "/usr/share/nvim/runtime/lua/vim": true,
                                                 "/usr/share/nvim/runtime/lua/vim/lsp": true
                                         }
                                 },
                                 "diagnostics": {
                                         "disable": [
                                                 "undefined-global",
                                                 "lowercase-global"
                                         ],
                                         "globals": [ "vim", "use" ]
                                 }
                         }
                 }
         }
 }