notation: add shell completions

This commit is contained in:
Aaron Jheng 2024-05-11 11:04:13 +08:00
parent 36888d20c9
commit dbea610adb
No known key found for this signature in database
GPG Key ID: F6A547A869D050A3

View File

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, testers, notation }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, notation }:
buildGoModule rec {
pname = "notation";
@ -13,6 +13,10 @@ buildGoModule rec {
vendorHash = "sha256-USkufc1dG4eyRfRJHSX4mVZHnvOc5onHenF98Aedac4=";
nativeBuildInputs = [
installShellFiles
];
# This is a Go sub-module and cannot be built directly (e2e tests).
excludedPackages = [ "./test" ];
@ -23,6 +27,13 @@ buildGoModule rec {
"-X github.com/notaryproject/notation/internal/version.BuildMetadata="
];
postInstall = ''
installShellCompletion --cmd notation \
--bash <($out/bin/notation completion bash) \
--fish <($out/bin/notation completion fish) \
--zsh <($out/bin/notation completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = notation;
command = "notation version";