feat: lsp diagnostics line formatting
This commit is contained in:
parent
6f73a28b79
commit
e009f823e4
2 changed files with 21 additions and 4 deletions
|
@ -15,6 +15,20 @@ for type, icon in pairs(signs) do
|
|||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = '' })
|
||||
end
|
||||
|
||||
local function format(diagnostic)
|
||||
local icon = icons.error
|
||||
if diagnostic.severity == vim.diagnostic.severity.WARN then
|
||||
icon = icons.warn
|
||||
end
|
||||
|
||||
if diagnostic.severity == vim.diagnostic.severity.HINT then
|
||||
icon = icons.hint
|
||||
end
|
||||
|
||||
local message = string.format(' %s [%s][%s] %s', icon, diagnostic.code, diagnostic.source, diagnostic.message)
|
||||
return message
|
||||
end
|
||||
|
||||
-- set up vim.diagnostics
|
||||
-- vim.diagnostic.config opts
|
||||
vim.diagnostic.config(u.merge({
|
||||
|
@ -26,13 +40,17 @@ vim.diagnostic.config(u.merge({
|
|||
border = config.border,
|
||||
focusable = false,
|
||||
header = { icons.debug .. ' Diagnostics:', 'Normal' },
|
||||
source = 'always',
|
||||
scope = 'line',
|
||||
source = false,
|
||||
format = format,
|
||||
},
|
||||
virtual_text = {
|
||||
spacing = 4,
|
||||
source = 'always',
|
||||
prefix = '•',
|
||||
spacing = 2,
|
||||
source = false,
|
||||
severity = {
|
||||
min = vim.diagnostic.severity.HINT,
|
||||
},
|
||||
format = format,
|
||||
},
|
||||
}, config.diagnostic or {}))
|
||||
|
|
|
@ -5,7 +5,6 @@ local config = require('cosmic.core.user')
|
|||
|
||||
local config_opts = u.merge(config.lsp.servers.null_ls or {}, {
|
||||
default_cosmic_sources = true,
|
||||
diagnostics_format = '#{m} (#{s}) [#{c}]',
|
||||
})
|
||||
|
||||
-- how to disable sources?
|
||||
|
|
Loading…
Add table
Reference in a new issue