.dotfiles/nvim/lua/diagnostics.lua

59 lines
1.9 KiB
Lua

local utils = require("utils")
local function setup_colors()
-- These are not apart of the Ayu color theme, however, I needed these
-- colors while still fitting in with the rest
local ayu_turquoise = "#5CCFE6"
local ayu_dark_blue = "#3A7BD5"
local colors = {
info = ayu_dark_blue,
hint = ayu_turquoise,
warning = utils.ayu_colors.warning,
error = utils.ayu_colors.error,
}
for _, highlight in ipairs({
{ "DiagnosticUnderlineInfo", { undercurl = true, sp = colors.info } },
{ "DiagnosticUnderlineHint", { undercurl = true, sp = colors.hint } },
{ "DiagnosticUnderlineWarn", { undercurl = true, sp = colors.warning } },
{ "DiagnosticUnderlineError", { undercurl = true, sp = colors.error } },
{ "DiagnosticInfo", { fg = colors.info } },
{ "DiagnosticHint", { fg = colors.hint } },
{ "DiagnosticWarn", { fg = colors.warning } },
{ "DiagnosticError", { fg = colors.error } },
}) do
vim.api.nvim_set_hl(0, highlight[1], highlight[2])
end
end
utils.create_user_event_cb("ColorsyncThemeChanged", setup_colors, "ColorsyncEvents")
setup_colors()
local sev = vim.diagnostic.severity
vim.diagnostic.config({
underline = true,
-- This enables the diagnostics at end of line
-- virtual_text = {
-- prefix = "●",
-- },
-- Disable this whilst using tiny inline diagnostics
virtual_text = false,
-- This enables the separate buffer diagnostics
-- virtual_lines = true,
update_in_insert = true,
signs = {
text = {
[sev.ERROR] = "",
[sev.WARN] = "",
[sev.INFO] = "",
[sev.HINT] = "",
},
numhl = {
[sev.WARN] = "WarningMsg",
[sev.ERROR] = "ErrorMsg",
[sev.INFO] = "DiagnosticInfo",
[sev.HINT] = "DiagnosticHint",
},
},
})