summaryrefslogtreecommitdiff
path: root/lua/lsp/lua-ls.lua
blob: 22ffb5291fae2007114647e14de1bb3b067319b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
-- TODO fix for different systems and put variable for user

user="chris"

local sumneko_root_path = ""
local sumneko_binary = ""

local system_name
if vim.fn.has("mac") == 1 then
  sumneko_root_path = "/Users/"..user.."/.config/nvim/lua-language-server"
  sumneko_binary = "/Users/"..user.."/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
elseif vim.fn.has("unix") == 1 then
  sumneko_root_path = "/home/"..user.."/.config/nvim/lua-language-server"
  sumneko_binary = "/home/"..user.."/.config/nvim/lua-language-server/bin/Linux/lua-language-server"
elseif vim.fn.has('win32') == 1 then
  -- sumneko_root_path = "/Users/chris/.config/nvim/lua-language-server"
  -- sumneko_binary = "/Users/chris/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
  print("Unsupported system for me")
else
  print("Unsupported system for sumneko")
end

require'lspconfig'.sumneko_lua.setup {
  cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"};
  settings = {
    Lua = {
      runtime = {
        -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
        version = 'LuaJIT',
        -- Setup your lua path
        path = vim.split(package.path, ';'),
      },
      diagnostics = {
        -- Get the language server to recognize the `vim` global
        globals = {'vim'},
      },
      workspace = {
        -- Make the server aware of Neovim runtime files
        library = {
          [vim.fn.expand('$VIMRUNTIME/lua')] = true,
          [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
        },
      },
    },
  },
}