1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 11:36:05 +01:00

fish: added completions option (#8127)

This commit is contained in:
Raul Rodrigues de Oliveira 2025-11-06 13:27:58 -03:00 committed by GitHub
parent 8929c5f3bc
commit ba15db2a15
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 93 additions and 0 deletions

View file

@ -0,0 +1,45 @@
{ lib, pkgs, ... }:
let
myProg = pkgs.writeText "my-prog.fish" ''
complete -c myprog -s o -l output
'';
myApp = pkgs.writeText "my-app.fish" ''
complete -c myapp -s -v
'';
in
{
config = {
programs.fish = {
enable = true;
completions = {
my-prog = ''
complete -c myprog -s o -l output
'';
my-app = {
body = ''
complete -c myapp -s -v
'';
};
};
};
xdg.dataFile."fish/home-manager_generated_completions".source = lib.mkForce (
builtins.toFile "empty" ""
);
nmt = {
description = "if fish.completions is set, check file exists and contents match";
script = ''
assertFileExists home-files/.config/fish/completions/my-prog.fish
echo ${myProg}
assertFileContent home-files/.config/fish/completions/my-prog.fish ${myProg}
assertFileExists home-files/.config/fish/completions/my-app.fish
echo ${myApp}
assertFileContent home-files/.config/fish/completions/my-app.fish ${myApp}
'';
};
};
}

View file

@ -2,6 +2,7 @@
fish-abbrs = ./abbrs.nix;
fish-format-scripts = ./format-scripts.nix;
fish-functions = ./functions.nix;
fish-completions = ./completions.nix;
fish-no-functions = ./no-functions.nix;
fish-plugins = ./plugins.nix;
fish-manpage = ./manpage.nix;