summaryrefslogtreecommitdiff
path: root/lua/plugins/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/plugins/lsp.lua')
-rw-r--r--lua/plugins/lsp.lua52
1 files changed, 31 insertions, 21 deletions
diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua
index 9d0da3a..b581e9b 100644
--- a/lua/plugins/lsp.lua
+++ b/lua/plugins/lsp.lua
@@ -4,33 +4,43 @@ return {
event = { 'BufReadPre', 'BufNewFile' },
config = function()
local lspconfig = require('lspconfig')
- lspconfig.lua_ls.setup {
- settings = {
- Lua = {
+ vim.lsp.config('lua_ls', {
+ on_init = function(client)
+ if client.workspace_folders then
+ local path = client.workspace_folders[1].name
+ if path ~= vim.fn.stdpath('config') and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) then
+ return
+ end
+ end
+
+ client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
runtime = {
-- Tell the language server which version of Lua you're using
-- (most likely LuaJIT in the case of Neovim)
- version = 'LuaJIT',
- },
- diagnostics = {
- -- Get the language server to recognize the `vim` global
- globals = {
- 'vim',
- 'require'
- },
+ version = 'LuaJIT'
},
+ -- Make the server aware of Neovim runtime files
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,
- },
- },
- },
+ checkThirdParty = false,
+ library = {
+ vim.env.VIMRUNTIME
+ -- Depending on the usage, you might want to add additional paths here.
+ -- "${3rd}/luv/library"
+ -- "${3rd}/busted/library",
+ }
+ -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)
+ -- library = vim.api.nvim_get_runtime_file("", true)
+ }
+ })
+ end,
+ settings = {
+ Lua = {}
+ }
+ })
+ lspconfig.lua_ls.setup {}
+ lspconfig.clangd.setup {
+ autostart = false,
}
- lspconfig.clangd.setup {}
-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer