summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authorUrban Skudnik <urban.skudnik@gmail.com>2018-09-03 17:21:43 +0200
committerUrban Skudnik <urban.skudnik@gmail.com>2018-09-05 02:35:03 +0200
commitd23c357f1c0248c7f38260d696082ace77758df4 (patch)
tree02ad5e2f4347e48e59ca8bbad28ceaa7f7d5e0e3 /pkgs/development/tools
parent956790acafd6852e3d7764184a4cb0a73790559c (diff)
downloadnixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar.gz
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar.bz2
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar.lz
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar.xz
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.tar.zst
nixlib-d23c357f1c0248c7f38260d696082ace77758df4.zip
hcloud: Add autocomplete support for bash and zsh
Currently one would need to manually run the command to generate
completion and insert it into `.bashrc`/`.zshrc` to get the
autocompletion to work. This patch will automatically generate
both docs and save them to correct position so it should continue
to work even if user changes the shell at a later stage.
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/hcloud/default.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index 877080508d40..b3fa6f852f76 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -14,6 +14,19 @@ buildGoPackage rec {
 
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
+  postInstall = ''
+    mkdir -p \
+      $bin/etc/bash_completion.d \
+      $bin/share/zsh/vendor-completions
+
+    # Add bash completions
+    $bin/bin/hcloud completion bash > "$bin/etc/bash_completion.d/hcloud"
+
+    # Add zsh completions
+    echo "#compdef hcloud" > "$bin/share/zsh/vendor-completions/_hcloud"
+    $bin/bin/hcloud completion zsh >> "$bin/share/zsh/vendor-completions/_hcloud"
+  '';
+
   meta = {
     description = "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
     homepage = https://github.com/hetznercloud/cli;