Another copy of my dotfiles. Because I don't completely trust GitHub.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

57 lines
1.5 KiB

local function mergeTables(t1, t2)
for k, v in pairs(t2) do
t1[k] = v
end
return t1
end
-- === Initialize LSP Servers ===
-- For a list of LSP Servers and documentation:
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
local lspconfig = require'lspconfig'
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local configs = require("config.lsp").lspconfigs
local on_attach = require("config.lsp").lsp_onattach
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true
}
-- LSP diagnostics
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
underline = true,
signs = true,
virtual_text = false,
severity_sort = true,
})
local signs = {
Error = "",
Warning = "",
Hint = "",
Information = ""
}
for type, icon in pairs(signs) do
local hl = "LspDiagnosticsSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
end
-- LSP diagnostics
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
underline = true,
signs = true,
virtual_text = true,
severity_sort = true,
})
for k, v in pairs(configs) do
lspconfig[k].setup(
mergeTables(v, {
on_attach = on_attach,
capabilities = capabilities
}))
end