aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config/nvim/lua/plugins/lspconfig.lua
blob: 74b62dd9c3d88f10277ec02d2f55097877a482b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
---@type LazyPluginSpec
local M = {
	"neovim/nvim-lspconfig",
	event = "BufReadPre",
	dependencies = {
		{ "hrsh7th/cmp-nvim-lsp", opts = {} },
		{ "folke/neodev.nvim", opts = {} },
		{ "folke/neoconf.nvim", cmd = "Neoconf", dependencies = { "nvim-lspconfig" }, opts = {} },
	},
}

function M:config()
	require("neoconf")
	require("lspconfig").util.default_config.capabilities =
		require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())

	require("lspconfig.ui.windows").default_options.border = "single"

	local avail = require("lspconfig").util.available_servers()

	vim.iter(require("tobyvin.lsp.configs")):each(function(name, config)
		if not vim.tbl_contains(avail, name) then
			require("lspconfig")[name].setup(config)
		end
	end)
end

return M