nvim/lua/cosmic/lsp/diagnostics.lua
2021-12-19 19:25:12 -08:00

39 lines
920 B
Lua

local icons = require('cosmic.theme.icons')
local config = require('cosmic.config')
-- set up LSP signs
local signs = {
Error = icons.error .. ' ',
Warn = icons.warn .. ' ',
Hint = icons.hint .. ' ',
Info = icons.info .. ' ',
}
local t = vim.fn.sign_getdefined('DiagnosticSignWarn')
if vim.tbl_isempty(t) then
for type, icon in pairs(signs) do
local hl = 'DiagnosticSign' .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = '' })
end
end
-- set up vim.diagnostics
-- vim.diagnostic.config opts
vim.diagnostic.config(vim.tbl_deep_extend('force', {
underline = true,
signs = true,
update_in_insert = false,
severity_sort = true,
float = {
header = false,
source = 'always',
border = config.border,
},
virtual_text = {
spacing = 4,
source = 'always',
severity = {
min = vim.diagnostic.severity.HINT,
},
},
}, config.diagnostic or {}))