nodePackages.graphite-cli: fix zsh completion

The yargs library auto-detects the shell from the environment to emit the appropriate completion script. Currently the override is emitting the bash completion script twice. Setting ZSH_NAME=zsh is a simple way to emit the zshell completion script.
This commit is contained in:
Diego Pontoriero 2023-02-22 02:21:34 -08:00 committed by GitHub
parent d377d9bc2e
commit 02573873ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -188,10 +188,12 @@ final: prev: {
graphite-cli = prev."@withgraphite/graphite-cli".override {
name = "graphite-cli";
nativeBuildInputs = [ pkgs.installShellFiles ];
# 'gt completion' auto-detects zshell from environment variables:
# https://github.com/yargs/yargs/blob/2b6ba3139396b2e623aed404293f467f16590039/lib/completion.ts#L45
postInstall = ''
installShellCompletion --cmd gt \
--bash <($out/bin/gt completion) \
--zsh <($out/bin/gt completion)
--zsh <(ZSH_NAME=zsh $out/bin/gt completion)
'';
};