mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 20:08:17 +00:00
fix(diagnostic): virtual_text prefix function should have index and total (#25801)
The prefix option of the diagnostic virtual text can be a function, but previously it was only a function of diagnostic. This function should also have additional parameters index and total, more consistently and similarily as in the prefix function for `vim.diagnostic.open_float()`. These additional parameters will be useful when there are too many number of diagnostics in a single line.
This commit is contained in:
@@ -592,8 +592,10 @@ end
|
||||
--- * spacing: (number) Amount of empty spaces inserted at the beginning
|
||||
--- of the virtual text.
|
||||
--- * prefix: (string or function) prepend diagnostic message with prefix.
|
||||
--- If a function, it must have the signature (diagnostic) -> string,
|
||||
--- where {diagnostic} is of type |diagnostic-structure|. This can be
|
||||
--- If a function, it must have the signature (diagnostic, i, total)
|
||||
--- -> string, where {diagnostic} is of type |diagnostic-structure|,
|
||||
--- {i} is the index of the diagnostic being evaluated, and {total}
|
||||
--- is the total number of diagnostics for the line. This can be
|
||||
--- used to render diagnostic symbols or error codes.
|
||||
--- * suffix: (string or function) Append diagnostic message with suffix.
|
||||
--- If a function, it must have the signature (diagnostic) ->
|
||||
@@ -1072,7 +1074,7 @@ function M._get_virt_text_chunks(line_diags, opts)
|
||||
for i = 1, #line_diags do
|
||||
local resolved_prefix = prefix
|
||||
if type(prefix) == 'function' then
|
||||
resolved_prefix = prefix(line_diags[i]) or ''
|
||||
resolved_prefix = prefix(line_diags[i], i, #line_diags) or ''
|
||||
end
|
||||
table.insert(
|
||||
virt_texts,
|
||||
|
Reference in New Issue
Block a user