plugins/nvim-autopairs: cleanup + fix mistyped option + tests (#280)

This commit is contained in:
Gaétan Lepage 2023-03-20 15:40:49 +01:00 committed by GitHub
parent c300601dce
commit 961da92d2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 31 deletions

View file

@ -3,22 +3,11 @@
config, config,
lib, lib,
... ...
} @ args: }:
with lib; let with lib; let
cfg = config.plugins.nvim-autopairs; cfg = config.plugins.nvim-autopairs;
helpers = import ../helpers.nix {inherit lib;}; helpers = import ../helpers.nix {inherit lib;};
optionWarnings = import ../../lib/option-warnings.nix args;
basePluginPath = ["plugins" "nvim-autopairs"];
in { in {
imports = [
(optionWarnings.mkRemovedOption {
option = basePluginPath ++ ["breakLineFiletypes"];
})
(optionWarnings.mkRemovedOption {
option = basePluginPath ++ ["htmlFiletypes"];
})
];
options.plugins.nvim-autopairs = options.plugins.nvim-autopairs =
helpers.extraOptionsOptions helpers.extraOptionsOptions
// { // {
@ -30,24 +19,10 @@ in {
disabledFiletypes = disabledFiletypes =
helpers.defaultNullOpts.mkNullable helpers.defaultNullOpts.mkNullable
(types.attrsOf types.str) (types.listOf types.str)
"[ \"TelescopePrompt\" ]" ''[ "TelescopePrompt" "spectre_panel" ]''
"Disabled filetypes"; "Disabled filetypes";
# TODO remove this option at some point (it has been marked as removed since XX-XX-2023)
breakLineFiletypes = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = "Filetypes to break lines on";
};
# TODO remove this option at some point (it has been marked as removed since XX-XX-2023)
htmlFiletypes = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = "Filetypes to treat as HTML";
};
disableInMacro = helpers.defaultNullOpts.mkBool false '' disableInMacro = helpers.defaultNullOpts.mkBool false ''
Disable when recording or executing a macro. Disable when recording or executing a macro.
''; '';
@ -107,9 +82,8 @@ in {
disable_in_visualblock = cfg.disableInVisualblock; disable_in_visualblock = cfg.disableInVisualblock;
disable_in_replace_mode = cfg.disableInReplaceMode; disable_in_replace_mode = cfg.disableInReplaceMode;
ignored_next_char = ignored_next_char =
if isNull cfg.ignoredNextChar helpers.ifNonNull' cfg.ignoredNextChar
then null (helpers.mkRaw cfg.ignoredNextChar);
else helpers.mkRaw cfg.ignoredNextChar;
enable_moveright = cfg.enableMoveright; enable_moveright = cfg.enableMoveright;
enable_afterquote = cfg.enableAfterQuote; enable_afterquote = cfg.enableAfterQuote;
enable_check_bracket_line = cfg.enableCheckBracketLine; enable_check_bracket_line = cfg.enableCheckBracketLine;

View file

@ -0,0 +1,35 @@
{
# Empty configuration
empty = {
plugins.nvim-autopairs.enable = true;
};
# All the upstream default options of trouble
defaults = {
plugins.nvim-autopairs = {
enable = true;
pairs = null;
disabledFiletypes = ["TelescopePrompt" "spectre_panel"];
disableInMacro = false;
disableInVisualblock = false;
disableInReplaceMode = true;
ignoredNextChar = "[=[[%w%%%'%[%\"%.%`%$]]=]";
enableMoveright = true;
enableAfterQuote = true;
enableCheckBracketLine = true;
enableBracketInQuote = true;
enableAbbr = false;
breakUndo = true;
checkTs = false;
tsConfig = {
lua = ["string" "source"];
javascript = ["string" "template_string"];
};
mapCr = true;
mapBs = true;
mapCH = false;
mapCW = false;
};
};
}