aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjdhao <jdhao@hotmail.com>2021-08-12 00:12:07 +0800
committerjdhao <jdhao@hotmail.com>2021-08-12 00:12:07 +0800
commit9c9e1d639c28d14204a23ad60f7f1fffd6f0c592 (patch)
tree9eefa7f4e8ceafb364bd5bad52e3140f8db6f3e1
parent65d7d880099311d794002c67a1cd63b5cabd5592 (diff)
Add sumneko_lua LSP
-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" })