1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-04-09 02:24:10 +00:00

fish: add command option for abbreviations ()

The fish shell has added a flag to the abbr command which allows one to expand it only if it is typed after a real command e.g.:
git s -> git status
s -> s

Also see the last example here: https://fishshell.com/docs/current/cmds/abbr.html#examples
This commit is contained in:
Karun Sandhu 2025-03-20 04:43:42 +01:00 committed by GitHub
parent cfaa4426a3
commit 8675edf7d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 1 deletions
modules/programs
tests/modules/programs/fish

View file

@ -167,6 +167,16 @@ let
'';
};
command = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Specifies the command(s) for which the abbreviation should expand. If
set, the abbreviation will only expand when used as an argument to
the given command(s).
'';
};
setCursor = mkOption {
type = with types; (either bool str);
default = false;
@ -201,7 +211,7 @@ let
(lib.generators.mkValueStringDefault { } v)
];
} {
inherit position regex function;
inherit position regex command function;
set-cursor = setCursor;
};
modifiers = if isAttrs def then mods else "";

View file

@ -34,6 +34,10 @@
end
'';
};
co = {
command = "git";
expansion = "checkout";
};
dotdot = {
regex = "^\\.\\.+$";
function = "multicd";
@ -64,6 +68,8 @@
cd ..
end
'"
assertFileContains home-files/.config/fish/config.fish \
"abbr --add --command git -- co checkout"
assertFileContains home-files/.config/fish/config.fish \
"abbr --add --function multicd --regex '^\.\.+$' -- dotdot"
'';