local capabilities = require('cmp_nvim_lsp').default_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true capabilities.textDocument.foldingRange = { dynamicRegistration = false, lineFoldingOnly = true, } local lspconfig = require("lspconfig") local null_ls = require("null-ls") local null_ls_formatting = null_ls.builtins.formatting null_ls.setup({ sources = { null_ls_formatting.prettier, null_ls_formatting.nixpkgs_fmt, }, }) lspconfig.nixd.setup { capabilities = capabilities } lspconfig.lua_ls.setup { capabilities = capabilities, settings = { Lua = { runtime = { version = "LuaJIT" }, diagnostics = { globals = { "vim" } }, workspace = { library = vim.api.nvim_get_runtime_file("", true), checkThirdParty = false }, telemetry = { enable = false }, }, }, } lspconfig.clangd.setup { capabilities = capabilities } lspconfig.rust_analyzer.setup { capabilities = capabilities } lspconfig.zls.setup { capabilities = capabilities } lspconfig.jedi_language_server.setup { capabilities = capabilities } lspconfig.bashls.setup { capabilities = capabilities } lspconfig.tsserver.setup { capabilities = capabilities } lspconfig.cssls.setup { capabilities = capabilities, cmd = { "css-languageserver", "--stdio" }, settings = { css = { validate = false }, } }