Skip to content
Permalink
Browse files
Revert "nixos/fish: generate autocompletions from man pages"
  • Loading branch information
dotlambda committed Feb 26, 2019
1 parent dd94b07 commit 8d8f5b54e7213dd0432155518fac2bff6004e0b4
Showing with 0 additions and 37 deletions.
  1. +0 −37 nixos/modules/programs/fish.nix
@@ -169,43 +169,6 @@ in
end
'';

programs.fish.interactiveShellInit = ''
# add completions generated by NixOS to $fish_complete_path
begin
# joins with null byte to acommodate all characters in paths, then respectively gets all paths before / after the first one including "generated_completions",
# splits by null byte, and then removes all empty lines produced by using 'string'
set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".")
set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".")
set fish_complete_path $prev "/etc/fish/generated_completions" $post
end
'';

environment.etc."fish/generated_completions".source =
let
generateCompletions = package: pkgs.runCommand
"${package.name}-fish-completions"
(
{
src = package;
nativeBuildInputs = [ pkgs.python3 ];
buildInputs = [ pkgs.fish ];
preferLocalBuild = true;
allowSubstitutes = false;
}
// optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; }
)
''
mkdir -p $out
if [ -d $src/share/man ]; then
find $src/share/man -type f | xargs python ${pkgs.fish}/share/fish/tools/create_manpage_completions.py --directory $out >/dev/null
fi
'';
in
pkgs.buildEnv {
name = "system-fish-completions";
paths = map generateCompletions config.environment.systemPackages;
};

# include programs that bring their own completions
environment.pathsToLink = []
++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"

0 comments on commit 8d8f5b5

Please sign in to comment.