Home Explore Blog CI



neovim

10th chunk of `runtime/doc/diagnostic.txt`
a6931dc68d3153c6a69b399b85b06500db7a96b7922afdde0000000100000fcd
 If a `string`, it is prepended to each diagnostic
                            in the window with no highlight. Overrides the
                            setting from |vim.diagnostic.config()|.
      • {suffix}?         (`string|table|(fun(diagnostic:vim.Diagnostic,i:integer,total:integer): string, string)`)
                          Same as {prefix}, but appends the text to the
                          diagnostic instead of prepending it. Overrides the
                          setting from |vim.diagnostic.config()|.
      • {focus_id}?       (`string`)
      • {border}?         (`string`) see |nvim_open_win()|.

*vim.diagnostic.Opts.Jump*

    Fields: ~
      • {on_jump}?   (`fun(diagnostic:vim.Diagnostic?, bufnr:integer)`)
                     Default value of the {on_jump} parameter of
                     |vim.diagnostic.jump()|.
      • {wrap}?      (`boolean`, default: true) Default value of the {wrap}
                     parameter of |vim.diagnostic.jump()|.
      • {severity}?  (`vim.diagnostic.SeverityFilter`) Default value of the
                     {severity} parameter of |vim.diagnostic.jump()|.

*vim.diagnostic.Opts.Signs*

    Fields: ~
      • {severity}?  (`vim.diagnostic.SeverityFilter`) Only show signs for
                     diagnostics matching the given severity
                     |diagnostic-severity|
      • {priority}?  (`integer`, default: `10`) Base priority to use for
                     signs. When {severity_sort} is used, the priority of a
                     sign is adjusted based on its severity. Otherwise, all
                     signs use the same priority.
      • {text}?      (`table<vim.diagnostic.Severity,string>`) A table mapping
                     |diagnostic-severity| to the sign text to display in the
                     sign column. The default is to use `"E"`, `"W"`, `"I"`,
                     and `"H"` for errors, warnings, information, and hints,
                     respectively. Example: >lua
                         vim.diagnostic.config({
                           signs = { text = { [vim.diagnostic.severity.ERROR] = 'E', ... } }
                         })
<
      • {numhl}?     (`table<vim.diagnostic.Severity,string>`) A table mapping
                     |diagnostic-severity| to the highlight group used for the
                     line number where the sign is placed.
      • {linehl}?    (`table<vim.diagnostic.Severity,string>`) A table mapping
                     |diagnostic-severity| to the highlight group used for the
                     whole line the sign is placed in.

*vim.diagnostic.Opts.Underline*

    Fields: ~
      • {severity}?  (`vim.diagnostic.SeverityFilter`) Only underline
                     diagnostics matching the given severity
                     |diagnostic-severity|.

*vim.diagnostic.Opts.VirtualLines*

    Fields: ~
      • {severity}?      (`vim.diagnostic.SeverityFilter`) Only show virtual
                         lines for diagnostics matching the given severity
                         |diagnostic-severity|
      • {current_line}?  (`boolean`, default: `false`) Only show diagnostics
                         for the current line.
      • {format}?        (`fun(diagnostic:vim.Diagnostic): string?`) A
                         function that takes a diagnostic as input and returns
                         a string or nil. If the return value is nil, the
                         diagnostic is not displayed by the handler. Else the
                         output text is used to display the diagnostic.

*vim.diagnostic.Opts.VirtualText*

    Fields: ~
      • {severity}?           (`vim.diagnostic.SeverityFilter`) Only show
                              virtual text for diagnostics matching the given
                              severity |diagnostic-severity|
      • {current_line}?       (`boolean`) Show or hide diagnostics based on
                              the current cursor line. If `true`, only
                              diagnostics

Title: Diagnostic Options: Jump, Signs, Underline, Virtual Lines, and Virtual Text
Summary
This section describes various configuration options for Neovim's diagnostic system. It details options related to jumping between diagnostics, customizing diagnostic signs (markers in the sign column), underlining diagnostic errors, displaying diagnostics as virtual lines, and showing diagnostics as virtual text. Each of these sections (`vim.diagnostic.Opts.Jump`, `vim.diagnostic.Opts.Signs`, `vim.diagnostic.Opts.Underline`, `vim.diagnostic.Opts.VirtualLines`, and `vim.diagnostic.Opts.VirtualText`) includes configuration fields, such as specifying severity levels, priorities, text formats, and highlight groups.