aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/config/lsp.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index eae789f..1728c5d 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -108,6 +108,42 @@ lspconfig.vimls.setup{
}
}
+local sumneko_binary_path = vim.fn.exepath('lua-language-server')
+if vim.g.is_mac > 0 or vim.g.is_linux > 0 and sumneko_binary_path ~= '' then
+ local sumneko_root_path = vim.fn.fnamemodify(sumneko_binary_path, ':h:h:h')
+
+ local runtime_path = vim.split(package.path, ';')
+ table.insert(runtime_path, "lua/?.lua")
+ table.insert(runtime_path, "lua/?/init.lua")
+
+ require'lspconfig'.sumneko_lua.setup {
+ on_attach = on_attach,
+ cmd = {sumneko_binary_path, "-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 = runtime_path,
+ },
+ diagnostics = {
+ -- Get the language server to recognize the `vim` global
+ globals = {'vim'},
+ },
+ workspace = {
+ -- Make the server aware of Neovim runtime files
+ library = vim.api.nvim_get_runtime_file("", true),
+ },
+ -- Do not send telemetry data containing a randomized but unique identifier
+ telemetry = {
+ enable = false,
+ },
+ },
+ },
+ }
+end
+
-- Change diagnostic signs.
vim.fn.sign_define('LspDiagnosticsSignError', { text = "✗", texthl = "LspDiagnosticsDefaultError" })
vim.fn.sign_define('LspDiagnosticsSignWarning', { text = "!", texthl = "LspDiagnosticsDefaultWarning" })