mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-22 17:03:31 +02:00
plugins/autoclose: fixes
This commit is contained in:
parent
06e4a4e0c8
commit
90fbde275c
1 changed files with 55 additions and 44 deletions
|
@ -8,51 +8,64 @@
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.plugins.autoclose;
|
cfg = config.plugins.autoclose;
|
||||||
in {
|
in {
|
||||||
options.plugins.autoclose = {
|
meta.maintainers = [maintainers.GaetanLepage];
|
||||||
enable = mkEnableOption "autoclose";
|
|
||||||
package = helpers.mkPackageOption "autoclose" pkgs.vimPlugins.autoclose-nvim;
|
|
||||||
|
|
||||||
keys = mkOption {
|
options.plugins.autoclose = {
|
||||||
type = with types; nullOr (attrsOf anything);
|
enable = mkEnableOption "autoclose.nvim";
|
||||||
default = null;
|
|
||||||
description = "Configures various options, such as shortcuts for pairs, what pair of characters to use in the shortcut, etc. See the plugin's [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#-configuration) for more info.";
|
package = helpers.mkPackageOption "autoclose.nvim" pkgs.vimPlugins.autoclose-nvim;
|
||||||
example = ''
|
|
||||||
keys = {
|
keys = helpers.mkNullOrOption (with types; attrsOf anything) ''
|
||||||
"(" = { escape = false, close = true, pair = "()" },
|
Configures various options, such as shortcuts for pairs, what pair of characters to use in the
|
||||||
"[" = { escape = false, close = true, pair = "[]" },
|
shortcut, etc.
|
||||||
"{" = { escape = false, close = true, pair = "{}" },
|
|
||||||
};
|
See the plugin's [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#-configuration) for more info.";
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
"(" = { escape = false; close = true; pair = "()"; };
|
||||||
|
"[" = { escape = false; close = true; pair = "[]"; };
|
||||||
|
"{" = { escape = false; close = true; pair = "{}"; };
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
disabledFiletypes = helpers.defaultNullOpts.mkListOf types.str ''["text"]'' ''
|
disabledFiletypes = helpers.defaultNullOpts.mkListOf types.str ''["text"]'' ''
|
||||||
The plugin will be disabled under the filetypes in this table.
|
The plugin will be disabled under the filetypes in this table.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
disableWhenTouch =
|
disableWhenTouch = helpers.defaultNullOpts.mkBool false ''
|
||||||
helpers.defaultNullOpts.mkBool false
|
Set this to true will disable the auto-close function when the cursor touches character that
|
||||||
"Set this to true will disable the auto-close function when the cursor touches character that matches touch_regex.";
|
matches touch_regex.
|
||||||
|
'';
|
||||||
|
|
||||||
touchRegex =
|
touchRegex = helpers.defaultNullOpts.mkStr "[%w(%[{]" ''
|
||||||
helpers.defaultNullOpts.mkStr "[%w(%[{]"
|
See [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#options).
|
||||||
"See [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#options)";
|
'';
|
||||||
|
|
||||||
pairSpaces =
|
pairSpaces = helpers.defaultNullOpts.mkBool false ''
|
||||||
helpers.defaultNullOpts.mkBool false
|
Pair the spaces when cursor is inside a pair of keys.
|
||||||
"Pair the spaces when cursor is inside a pair of keys. See [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#options)";
|
See [README](https://github.com/m4xshen/autoclose.nvim?tab=readme-ov-file#options)
|
||||||
|
'';
|
||||||
|
|
||||||
autoIndent =
|
autoIndent = helpers.defaultNullOpts.mkBool true ''
|
||||||
helpers.defaultNullOpts.mkBool true "Enable auto-indent feature";
|
Enable auto-indent feature.
|
||||||
|
'';
|
||||||
|
|
||||||
disableCommandMode =
|
disableCommandMode = helpers.defaultNullOpts.mkBool false ''
|
||||||
helpers.defaultNullOpts.mkBool false
|
Disable autoclose for command mode globally.
|
||||||
"Disable autoclose for command mode globally";
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = with cfg; let
|
config = mkIf cfg.enable {
|
||||||
options' = {
|
extraPlugins = [cfg.package];
|
||||||
|
|
||||||
|
extraConfigLua = let
|
||||||
|
setupOptions = with cfg; {
|
||||||
inherit keys;
|
inherit keys;
|
||||||
options = with options; {
|
options = with options; {
|
||||||
disabled_filetypes = disabledFiletypes;
|
disabled_filetypes = disabledFiletypes;
|
||||||
|
@ -63,10 +76,8 @@ in {
|
||||||
disable_command_mode = disableCommandMode;
|
disable_command_mode = disableCommandMode;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in ''
|
||||||
extraPlugins = [cfg.package];
|
require('autoclose').setup(${helpers.toLuaObject setupOptions})
|
||||||
extraConfigLua = ''
|
|
||||||
require('autoclose').setup(${helpers.toLuaObject options'})
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue