aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lua/lspconfig/sumneko_lua.lua18
1 files changed, 16 insertions, 2 deletions
diff --git a/lua/lspconfig/sumneko_lua.lua b/lua/lspconfig/sumneko_lua.lua
index 640243ac..bb712a7d 100644
--- a/lua/lspconfig/sumneko_lua.lua
+++ b/lua/lspconfig/sumneko_lua.lua
@@ -23,9 +23,23 @@ Lua language server.
**By default, lua-language-server doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of you unzipped and compiled lua-language-server.
```lua
-local sumneko_root_path = "/path/to/lua-language-server"
+local system_name
+if vim.fn.has("mac") == 1 then
+ system_name = "macOS"
+elseif vim.fn.has("unix") == 1 then
+ system_name = "Linux"
+elseif vim.fn.has('win32') == 1 then
+ system_name = "Windows"
+else
+ print("Unsupported system for sumneko")
+end
+
+-- set the path to the sumneko installation; if you previously installed via the now deprecated :LspInstall, use
+local sumneko_root_path = vim.fn.stdpath('cache')..'/lspconfig/sumneko_lua/lua-language-server'
+local sumneko_binary = sumneko_root_path.."/bin/"..system_name.."/lua-language-serve
+
require'lspconfig'.sumneko_lua.setup {
- cmd = {sumneko_root_path .. "/bin/{linux,macOS}/lua-language-server", "-E", sumneko_root_path .. "/main.lua"};
+ cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"};
settings = {
Lua = {
runtime = {