mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-15 06:35:58 +01:00
116 lines
2.8 KiB
Nix
116 lines
2.8 KiB
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
inherit (lib.options) mkOption mkEnableOption;
|
||
|
inherit (lib.types) str bool enum either;
|
||
|
in {
|
||
|
options.vim.diagnostics = {
|
||
|
virtual_text = mkOption {
|
||
|
type = bool;
|
||
|
default = true;
|
||
|
description = ''
|
||
|
Whether to use virtual text for diagnostics.
|
||
|
|
||
|
If multiple diagnostics are set for a namespace, one
|
||
|
prefix per diagnostic + the last diagnostic message
|
||
|
are shown.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
update_in_insert = mkOption {
|
||
|
type = bool;
|
||
|
default = false;
|
||
|
description = ''
|
||
|
Whether to update diagnostics in insert mode.
|
||
|
|
||
|
This is useful for slow diagnostics sources, but can
|
||
|
also cause lag in insert mode.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
underline = mkOption {
|
||
|
type = bool;
|
||
|
default = true;
|
||
|
description = ''
|
||
|
Whether to underline diagnostics.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
severity_sort = mkOption {
|
||
|
type = bool;
|
||
|
default = false;
|
||
|
description = ''
|
||
|
Whether to sort diagnostics by severity.
|
||
|
|
||
|
This affects the order in which signs and
|
||
|
virtual text are displayed. When true, higher
|
||
|
severities are displayed before lower severities (e.g.
|
||
|
ERROR is displayed before WARN)
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
float = {
|
||
|
focusable = mkOption {
|
||
|
type = bool;
|
||
|
default = false;
|
||
|
description = ''
|
||
|
Whether the floating window is focusable.
|
||
|
When true, the floating window can be focused and
|
||
|
interacted with. When false, the floating window is
|
||
|
not focusable and will not receive input.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
border = mkOption {
|
||
|
type = enum ["none" "single" "double" "rounded" "solid" "shadow"];
|
||
|
default = config.vim.ui.border.globalStyle;
|
||
|
description = ''
|
||
|
The border style of the floating window.
|
||
|
|
||
|
Possible values:
|
||
|
- none
|
||
|
- single
|
||
|
- double
|
||
|
- rounded
|
||
|
- solid
|
||
|
- shadow
|
||
|
|
||
|
See `:h nvim_open_win` for the available border
|
||
|
styles and their definitions.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
source = mkOption {
|
||
|
type = either bool (enum ["always" "if_many"]);
|
||
|
default = "auto";
|
||
|
description = ''
|
||
|
The source of the floating window.
|
||
|
Possible values:
|
||
|
- auto: Use the same source as the diagnostics
|
||
|
window.
|
||
|
- window: Use the window source.
|
||
|
- buffer: Use the buffer source.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
prefix = mkOption {
|
||
|
type = str;
|
||
|
default = "";
|
||
|
description = ''
|
||
|
Prefix string for each diagnostic in the floating window
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
suffix = mkOption {
|
||
|
type = str;
|
||
|
default = "";
|
||
|
description = ''
|
||
|
Suffix string for each diagnostic in the floating window
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|