From ac3c1f4fa40497b07f1f3ea3c4f644ce5dbcd2a4 Mon Sep 17 00:00:00 2001 From: 1adept <69433209+1adept@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:46:54 +0200 Subject: [PATCH] foot: enable duplicate key-bindings (#6815) closes #5873 --- modules/programs/foot.nix | 2 +- tests/modules/programs/foot/default.nix | 1 + .../programs/foot/regex-modes-expected.ini | 11 +++++++ tests/modules/programs/foot/regex-modes.nix | 29 +++++++++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 tests/modules/programs/foot/regex-modes-expected.ini create mode 100644 tests/modules/programs/foot/regex-modes.nix diff --git a/modules/programs/foot.nix b/modules/programs/foot.nix index eed0042d..2d434192 100644 --- a/modules/programs/foot.nix +++ b/modules/programs/foot.nix @@ -6,7 +6,7 @@ }: let cfg = config.programs.foot; - iniFormat = pkgs.formats.ini { }; + iniFormat = pkgs.formats.ini { listsAsDuplicateKeys = true; }; in { meta.maintainers = with lib.maintainers; [ plabadens ]; diff --git a/tests/modules/programs/foot/default.nix b/tests/modules/programs/foot/default.nix index 329e0f1f..cb813ffa 100644 --- a/tests/modules/programs/foot/default.nix +++ b/tests/modules/programs/foot/default.nix @@ -2,4 +2,5 @@ foot-example-settings = ./example-settings.nix; foot-empty-settings = ./empty-settings.nix; foot-systemd-user-service = ./systemd-user-service.nix; + foot-regex-modes = ./regex-modes.nix; } diff --git a/tests/modules/programs/foot/regex-modes-expected.ini b/tests/modules/programs/foot/regex-modes-expected.ini new file mode 100644 index 00000000..505b2341 --- /dev/null +++ b/tests/modules/programs/foot/regex-modes-expected.ini @@ -0,0 +1,11 @@ +[key-bindings] +regex-launch=[one] Shift+Control+1 +regex-launch=[two] Shift+Control+2 + +[regex:one] +launch=echo Regex one works +regex=(some regex) + +[regex:two] +launch=echo Second also works! +regex=(some other regex) diff --git a/tests/modules/programs/foot/regex-modes.nix b/tests/modules/programs/foot/regex-modes.nix new file mode 100644 index 00000000..e3710ed2 --- /dev/null +++ b/tests/modules/programs/foot/regex-modes.nix @@ -0,0 +1,29 @@ +{ config, ... }: +{ + programs.foot = { + enable = true; + package = config.lib.test.mkStubPackage { }; + + settings = { + "regex:one" = { + regex = "(some regex)"; + launch = "echo Regex one works"; + }; + "regex:two" = { + regex = "(some other regex)"; + launch = "echo Second also works!"; + }; + + key-bindings.regex-launch = [ + "[one] Shift+Control+1" + "[two] Shift+Control+2" + ]; + }; + }; + + nmt.script = '' + assertFileContent \ + home-files/.config/foot/foot.ini \ + ${./regex-modes-expected.ini} + ''; +}