From 33b1d59e55d55d7f2488135d5efba8d32284b75a Mon Sep 17 00:00:00 2001 From: Brahmajit Das Date: Thu, 15 May 2025 20:25:40 +0530 Subject: lua: plugins: lsp: minor changes for nvim >= 0.11.0 and dont autostart clangd Signed-off-by: Brahmajit Das --- lua/plugins/lsp.lua | 52 +++++++++++++++++++++++++++++++--------------------- 1 file 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 -- cgit v1.2.3