mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-07 10:51:36 +00:00
Feat noice setup opts (#297)
* noice: add setupOpts * noice: add filter * noice: use setupOpts * docs: update release notes * noice: allow null option * noice: add descriptions for some options
This commit is contained in:
parent
82d67cbc66
commit
9b48c30e20
3 changed files with 140 additions and 66 deletions
|
@ -1,7 +1,142 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.types) anything nullOr listOf submodule str;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||
inherit (lib.nvim.config) mkBool;
|
||||
in {
|
||||
options.vim.ui.noice = {
|
||||
enable = mkEnableOption "noice.nvim UI modification library";
|
||||
|
||||
setupOpts = mkPluginSetupOption "noice.nvim" {
|
||||
lsp = {
|
||||
override = {
|
||||
"vim.lsp.util.convert_input_to_markdown_lines" =
|
||||
mkBool true "override the default lsp markdown formatter with Noice";
|
||||
|
||||
"vim.lsp.util.stylize_markdown" =
|
||||
mkBool true "override the lsp markdown formatter with Noice";
|
||||
|
||||
"cmp.entry.get_documentation" =
|
||||
mkBool (config.vim.autocomplete.type == "nvim-cmp") "override cmp documentation with Noice";
|
||||
};
|
||||
|
||||
signature = {
|
||||
enabled = mkEnableOption "signature help";
|
||||
};
|
||||
};
|
||||
|
||||
presets = {
|
||||
bottom_search = mkBool true "use a classic bottom cmdline for search";
|
||||
command_palette = mkBool true "position the cmdline and popupmenu together";
|
||||
long_message_to_split = mkBool true "long messages will be sent to a split";
|
||||
inc_rename = mkBool false "enables an input dialog for inc-rename.nvim";
|
||||
lsp_doc_border =
|
||||
mkBool config.vim.ui.borders.enable "add a border to hover docs and signature help";
|
||||
};
|
||||
|
||||
# TODO: is it possible to write a submodule for this?
|
||||
format = {
|
||||
cmdline = mkOption {
|
||||
description = "formatting options for the cmdline";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
pattern = "^:";
|
||||
icon = "";
|
||||
lang = "vim";
|
||||
};
|
||||
};
|
||||
|
||||
search_down = mkOption {
|
||||
description = "formatting options for search_down";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
kind = "search";
|
||||
pattern = "^/";
|
||||
icon = " ";
|
||||
lang = "regex";
|
||||
};
|
||||
};
|
||||
|
||||
search_up = mkOption {
|
||||
description = "formatting options for search_up";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
kind = "search";
|
||||
pattern = "^%?";
|
||||
icon = " ";
|
||||
lang = "regex";
|
||||
};
|
||||
};
|
||||
|
||||
filter = mkOption {
|
||||
description = "formatting options for filter";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
pattern = "^:%s*!";
|
||||
icon = "";
|
||||
lang = "bash";
|
||||
};
|
||||
};
|
||||
|
||||
lua = mkOption {
|
||||
description = "formatting options for lua";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
pattern = "^:%s*lua%s+";
|
||||
icon = "";
|
||||
lang = "lua";
|
||||
};
|
||||
};
|
||||
|
||||
help = mkOption {
|
||||
description = "formatting options for help";
|
||||
type = nullOr anything;
|
||||
default = {
|
||||
pattern = "^:%s*he?l?p?%s+";
|
||||
icon = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
routes = mkOption {
|
||||
description = "How to route messages";
|
||||
type = listOf (submodule {
|
||||
options = {
|
||||
view = mkOption {
|
||||
description = "how this route is viewed";
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
};
|
||||
|
||||
filter = mkOption {
|
||||
description = "a filter for messages matching this route";
|
||||
type = anything;
|
||||
};
|
||||
|
||||
opts = mkOption {
|
||||
description = "options for the view and the route";
|
||||
type = nullOr anything;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
default = [
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show";
|
||||
kind = "";
|
||||
find = "written";
|
||||
};
|
||||
opts = {skip = true;};
|
||||
}
|
||||
];
|
||||
defaultText = "Hide written messages";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue