summaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
blob: 1d22f5e1221051d592bf2ae94cff1e60ae945dae (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
29
30
31
local utils = require("tobyvin.utils")

vim.diagnostic.config({
	virtual_text = {
		source = "if_many",
	},
	signs = true,
	underline = true,
	update_in_insert = true,
	severity_sort = true,
	float = {
		border = "single",
		scope = "cursor",
	},
})

vim.fn.sign_define("DiagnosticSignError", utils.diagnostic.signs.error)
vim.fn.sign_define("DiagnosticSignWarn", utils.diagnostic.signs.warn)
vim.fn.sign_define("DiagnosticSignInfo", utils.diagnostic.signs.info)
vim.fn.sign_define("DiagnosticSignHint", utils.diagnostic.signs.hint)

vim.keymap.set("n", "]d", utils.diagnostic.goto_next, { desc = "next diagnostic" })
vim.keymap.set("n", "[d", utils.diagnostic.goto_prev, { desc = "prev diagnostic" })
vim.keymap.set("n", "gl", vim.diagnostic.open_float, { desc = "open diagnostic float" })
vim.keymap.set("n", "gL", vim.diagnostic.setqflist, { desc = "qf diagnostic" })

vim.api.nvim_create_autocmd("CursorHold", {
	callback = function()
		vim.diagnostic.open_float()
	end,
})