lua-ls.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
  2. USER = vim.fn.expand('$USER')
  3. local sumneko_root_path = ""
  4. local sumneko_binary = ""
  5. if vim.fn.has("mac") == 1 then
  6. sumneko_root_path = "/Users/" .. USER ..
  7. "/.config/nvim/.language-servers/lua-language-server"
  8. sumneko_binary = "/Users/" .. USER ..
  9. "/.config/nvim/.language-servers/lua-language-server/bin/macOS/lua-language-server"
  10. elseif vim.fn.has("unix") == 1 then
  11. sumneko_root_path = "/home/" .. USER ..
  12. "/.config/nvim/.language-servers/lua-language-server"
  13. sumneko_binary = "/home/" .. USER ..
  14. "/.config/nvim/.language-servers/lua-language-server/bin/Linux/lua-language-server"
  15. else
  16. print("Unsupported system for sumneko")
  17. end
  18. require'lspconfig'.sumneko_lua.setup {
  19. cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"},
  20. on_attach = require'lsp'.common_on_attach,
  21. settings = {
  22. Lua = {
  23. runtime = {
  24. -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
  25. version = 'LuaJIT',
  26. -- Setup your lua path
  27. path = vim.split(package.path, ';')
  28. },
  29. diagnostics = {
  30. -- Get the language server to recognize the `vim` global
  31. globals = {'vim'}
  32. },
  33. workspace = {
  34. -- Make the server aware of Neovim runtime files
  35. library = {
  36. [vim.fn.expand('$VIMRUNTIME/lua')] = true,
  37. [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true
  38. }
  39. }
  40. }
  41. }
  42. }