diff options
author | Blaster4385 <TheTablaster@aospa.co> | 2024-02-15 00:37:46 +0530 |
---|---|---|
committer | Blaster4385 <blaster4385@tablaster.dev> | 2024-02-26 00:30:39 +0530 |
commit | cead788a4a8e67f776d82c4ad50f6d065609c1cf (patch) | |
tree | 35fe47589914bdf04f3ecd86c86800ced4068703 /nvim/nvchad/lua/plugins/configs/lspconfig.lua |
Initial dotfiles
Diffstat (limited to 'nvim/nvchad/lua/plugins/configs/lspconfig.lua')
-rw-r--r-- | nvim/nvchad/lua/plugins/configs/lspconfig.lua | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/nvim/nvchad/lua/plugins/configs/lspconfig.lua b/nvim/nvchad/lua/plugins/configs/lspconfig.lua new file mode 100644 index 0000000..f824aa0 --- /dev/null +++ b/nvim/nvchad/lua/plugins/configs/lspconfig.lua @@ -0,0 +1,64 @@ +dofile(vim.g.base46_cache .. "lsp") +require "nvchad.lsp" + +local M = {} +local utils = require "core.utils" + +-- export on_attach & capabilities for custom lspconfigs + +M.on_attach = function(client, bufnr) + utils.load_mappings("lspconfig", { buffer = bufnr }) + + if client.server_capabilities.signatureHelpProvider then + require("nvchad.signature").setup(client) + end + + if not utils.load_config().ui.lsp_semantic_tokens and client.supports_method "textDocument/semanticTokens" then + client.server_capabilities.semanticTokensProvider = nil + end +end + +M.capabilities = vim.lsp.protocol.make_client_capabilities() + +M.capabilities.textDocument.completion.completionItem = { + documentationFormat = { "markdown", "plaintext" }, + snippetSupport = true, + preselectSupport = true, + insertReplaceSupport = true, + labelDetailsSupport = true, + deprecatedSupport = true, + commitCharactersSupport = true, + tagSupport = { valueSet = { 1 } }, + resolveSupport = { + properties = { + "documentation", + "detail", + "additionalTextEdits", + }, + }, +} + +require("lspconfig").lua_ls.setup { + on_attach = M.on_attach, + capabilities = M.capabilities, + + settings = { + Lua = { + diagnostics = { + globals = { "vim" }, + }, + workspace = { + library = { + [vim.fn.expand "$VIMRUNTIME/lua"] = true, + [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, + [vim.fn.stdpath "data" .. "/lazy/ui/nvchad_types"] = true, + [vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true, + }, + maxPreload = 100000, + preloadFileSize = 10000, + }, + }, + }, +} + +return M |