treewide: Reformat with nixfmt

This commit is contained in:
traxys 2024-05-05 19:39:35 +02:00
parent c6281260dc
commit 62f32bfc71
459 changed files with 28139 additions and 26377 deletions

View file

@ -5,17 +5,16 @@
config,
...
}:
with lib; {
with lib;
{
options.plugins.which-key = {
enable =
mkEnableOption
"which-key.nvim, a plugin that popup with possible key bindings of the command you started typing";
enable = mkEnableOption "which-key.nvim, a plugin that popup with possible key bindings of the command you started typing";
package = helpers.mkPackageOption "which-key-nvim" pkgs.vimPlugins.which-key-nvim;
registrations = mkOption {
type = with types; attrsOf anything;
default = {};
default = { };
description = "Manually register the description of mappings.";
example = {
"<leader>p" = "Find git files with telescope";
@ -25,30 +24,20 @@ with lib; {
plugins = {
marks = helpers.defaultNullOpts.mkBool true "shows a list of your marks on ' and `";
registers =
helpers.defaultNullOpts.mkBool true
''shows your registers on " in NORMAL or <C-r> in INSERT mode'';
registers = helpers.defaultNullOpts.mkBool true ''shows your registers on " in NORMAL or <C-r> in INSERT mode'';
spelling = {
enabled =
helpers.defaultNullOpts.mkBool true
"enabling this will show WhichKey when pressing z= to select spelling suggestions";
suggestions =
helpers.defaultNullOpts.mkInt 20
"how many suggestions should be shown in the list?";
enabled = helpers.defaultNullOpts.mkBool true "enabling this will show WhichKey when pressing z= to select spelling suggestions";
suggestions = helpers.defaultNullOpts.mkInt 20 "how many suggestions should be shown in the list?";
};
presets = {
operators = helpers.defaultNullOpts.mkBool true "adds help for operators like d, y, ...";
motions = helpers.defaultNullOpts.mkBool true "adds help for motions";
textObjects =
helpers.defaultNullOpts.mkBool true
"help for text objects triggered after entering an operator";
textObjects = helpers.defaultNullOpts.mkBool true "help for text objects triggered after entering an operator";
windows = helpers.defaultNullOpts.mkBool true "default bindings on <c-w>";
nav = helpers.defaultNullOpts.mkBool true "misc bindings to work with windows";
z =
helpers.defaultNullOpts.mkBool true
"bindings for folds, spelling and others prefixed with z";
z = helpers.defaultNullOpts.mkBool true "bindings for folds, spelling and others prefixed with z";
g = helpers.defaultNullOpts.mkBool true "bindings for prefixed with g";
};
};
@ -67,9 +56,7 @@ with lib; {
};
icons = {
breadcrumb =
helpers.defaultNullOpts.mkStr "»"
"symbol used in the command line area that shows your active key combo";
breadcrumb = helpers.defaultNullOpts.mkStr "»" "symbol used in the command line area that shows your active key combo";
separator = helpers.defaultNullOpts.mkStr "" "symbol used between a key and it's label";
group = helpers.defaultNullOpts.mkStr "+" "symbol prepended to a group";
};
@ -79,137 +66,156 @@ with lib; {
scrollUp = helpers.defaultNullOpts.mkStr "<c-u>" "binding to scroll up inside the popup";
};
window = let
spacingOptions = types.submodule {
options = {
top = mkOption {type = types.int;};
right = mkOption {type = types.int;};
bottom = mkOption {type = types.int;};
left = mkOption {type = types.int;};
window =
let
spacingOptions = types.submodule {
options = {
top = mkOption { type = types.int; };
right = mkOption { type = types.int; };
bottom = mkOption { type = types.int; };
left = mkOption { type = types.int; };
};
};
in
{
border = helpers.defaultNullOpts.mkBorder "none" "which-key" "";
position = helpers.defaultNullOpts.mkEnumFirstDefault [
"bottom"
"top"
] "";
margin =
helpers.defaultNullOpts.mkNullable spacingOptions ''{top = 1; right = 0; bottom = 1; left = 0;}''
"extra window margin";
padding =
helpers.defaultNullOpts.mkNullable spacingOptions ''{top = 1; right = 2; bottom = 1; left = 2;}''
"extra window padding";
winblend = helpers.defaultNullOpts.mkNullable (types.ints.between 0
100
) "0" "0 for fully opaque and 100 for fully transparent";
};
in {
border = helpers.defaultNullOpts.mkBorder "none" "which-key" "";
position = helpers.defaultNullOpts.mkEnumFirstDefault ["bottom" "top"] "";
margin =
helpers.defaultNullOpts.mkNullable spacingOptions
''{top = 1; right = 0; bottom = 1; left = 0;}'' "extra window margin";
padding =
helpers.defaultNullOpts.mkNullable spacingOptions
''{top = 1; right = 2; bottom = 1; left = 2;}'' "extra window padding";
winblend =
helpers.defaultNullOpts.mkNullable (types.ints.between 0 100) "0"
"0 for fully opaque and 100 for fully transparent";
};
layout = let
rangeOption = types.submodule {
options = {
min = mkOption {type = types.int;};
max = mkOption {type = types.int;};
layout =
let
rangeOption = types.submodule {
options = {
min = mkOption { type = types.int; };
max = mkOption { type = types.int; };
};
};
in
{
height =
helpers.defaultNullOpts.mkNullable rangeOption "{min = 4; max = 25;}"
"min and max height of the columns";
width =
helpers.defaultNullOpts.mkNullable rangeOption "{min = 20; max = 50;}"
"min and max width of the columns";
spacing = helpers.defaultNullOpts.mkInt 3 "spacing between columns";
align = helpers.defaultNullOpts.mkEnumFirstDefault [
"left"
"center"
"right"
] "";
};
in {
height =
helpers.defaultNullOpts.mkNullable rangeOption "{min = 4; max = 25;}"
"min and max height of the columns";
width =
helpers.defaultNullOpts.mkNullable rangeOption "{min = 20; max = 50;}"
"min and max width of the columns";
spacing = helpers.defaultNullOpts.mkInt 3 "spacing between columns";
align = helpers.defaultNullOpts.mkEnumFirstDefault ["left" "center" "right"] "";
};
ignoreMissing =
helpers.defaultNullOpts.mkBool false
"enable this to hide mappings for which you didn't specify a label";
ignoreMissing = helpers.defaultNullOpts.mkBool false "enable this to hide mappings for which you didn't specify a label";
hidden = helpers.defaultNullOpts.mkNullable (types.listOf types.str) ''
["<silent>" "<cmd>" "<Cmd>" "<CR>" "^:" "^ " "^call " "^lua "]
'' "hide mapping boilerplate";
showHelp =
helpers.defaultNullOpts.mkBool true
"show a help message in the command line for using WhichKey";
showHelp = helpers.defaultNullOpts.mkBool true "show a help message in the command line for using WhichKey";
showKeys =
helpers.defaultNullOpts.mkBool true
"show the currently pressed key and its label as a message in the command line";
showKeys = helpers.defaultNullOpts.mkBool true "show the currently pressed key and its label as a message in the command line";
triggers =
helpers.defaultNullOpts.mkNullable
(types.either (types.enum ["auto"]) (types.listOf types.str))
''"auto"'' "automatically setup triggers, or specify a list manually";
triggers = helpers.defaultNullOpts.mkNullable (types.either (types.enum [ "auto" ]) (
types.listOf types.str
)) ''"auto"'' "automatically setup triggers, or specify a list manually";
triggersNoWait =
helpers.defaultNullOpts.mkNullable (types.listOf types.str)
''["`" "'" "g`" "g'" "\"" "<c-r>" "z="]'' ''
list of triggers, where WhichKey should not wait for timeoutlen and show immediately
'';
''["`" "'" "g`" "g'" "\"" "<c-r>" "z="]''
''
list of triggers, where WhichKey should not wait for timeoutlen and show immediately
'';
triggersBlackList =
helpers.defaultNullOpts.mkNullable (types.attrsOf (types.listOf types.str))
''{ i = ["j" "k"]; v = ["j" "k"]}}'' ''
list of mode / prefixes that should never be hooked by WhichKey
this is mostly relevant for keymaps that start with a native binding
'';
''{ i = ["j" "k"]; v = ["j" "k"]}}''
''
list of mode / prefixes that should never be hooked by WhichKey
this is mostly relevant for keymaps that start with a native binding
'';
disable = {
buftypes =
helpers.defaultNullOpts.mkNullable (types.listOf types.str) "[]"
"Disabled by default for Telescope";
"Disabled by default for Telescope";
filetypes = helpers.defaultNullOpts.mkNullable (types.listOf types.str) "[]" "";
};
};
config = let
cfg = config.plugins.which-key;
setupOptions = {
plugins = {
inherit (cfg.plugins) marks registers spelling;
presets = {
inherit (cfg.plugins.presets) operators motions;
text_objects = cfg.plugins.presets.textObjects;
inherit (cfg.plugins.presets) windows nav z g;
config =
let
cfg = config.plugins.which-key;
setupOptions = {
plugins = {
inherit (cfg.plugins) marks registers spelling;
presets = {
inherit (cfg.plugins.presets) operators motions;
text_objects = cfg.plugins.presets.textObjects;
inherit (cfg.plugins.presets)
windows
nav
z
g
;
};
};
inherit (cfg) operators;
key_labels = cfg.keyLabels;
inherit (cfg) motions icons;
popup_mappings = {
scroll_down = cfg.popupMappings.scrollDown;
scroll_up = cfg.popupMappings.scrollUp;
};
window =
let
mkSpacing =
opt:
helpers.ifNonNull' opt [
opt.top
opt.right
opt.bottom
opt.top
];
in
{
inherit (cfg.window) border position;
margin = mkSpacing cfg.window.margin;
padding = mkSpacing cfg.window.padding;
inherit (cfg.window) winblend;
};
inherit (cfg) layout;
ignore_missing = cfg.ignoreMissing;
inherit (cfg) hidden;
show_help = cfg.showHelp;
show_keys = cfg.showKeys;
inherit (cfg) triggers;
triggers_nowait = cfg.triggersNoWait;
triggers_blacklist = cfg.triggersBlackList;
inherit (cfg) disable;
};
inherit (cfg) operators;
key_labels = cfg.keyLabels;
inherit (cfg) motions icons;
popup_mappings = {
scroll_down = cfg.popupMappings.scrollDown;
scroll_up = cfg.popupMappings.scrollUp;
};
window = let
mkSpacing = opt: helpers.ifNonNull' opt [opt.top opt.right opt.bottom opt.top];
in {
inherit (cfg.window) border position;
margin = mkSpacing cfg.window.margin;
padding = mkSpacing cfg.window.padding;
inherit (cfg.window) winblend;
};
inherit (cfg) layout;
ignore_missing = cfg.ignoreMissing;
inherit (cfg) hidden;
show_help = cfg.showHelp;
show_keys = cfg.showKeys;
inherit (cfg) triggers;
triggers_nowait = cfg.triggersNoWait;
triggers_blacklist = cfg.triggersBlackList;
inherit (cfg) disable;
};
in
in
mkIf cfg.enable {
extraPlugins = [cfg.package];
extraPlugins = [ cfg.package ];
extraConfigLua =
''
require("which-key").setup(${helpers.toLuaObject setupOptions})
''
+ (
optionalString (cfg.registrations != {}) ''
require("which-key").register(${helpers.toLuaObject cfg.registrations})
''
);
+ (optionalString (cfg.registrations != { }) ''
require("which-key").register(${helpers.toLuaObject cfg.registrations})
'');
};
}