cmd/tailscale: add shell tab-completion

The approach is lifted from cobra: `tailscale completion bash` emits a bash
script for configuring the shell's autocomplete:

    . <( tailscale completion bash )

so that typing:

    tailscale st<TAB>

invokes:

    tailscale completion __complete -- st

RELNOTE=tailscale CLI now supports shell tab-completion

Fixes #3793

Signed-off-by: Paul Scott <paul@tailscale.com>
This commit is contained in:
Paul Scott
2024-02-29 22:56:25 +00:00
committed by Paul Scott
parent 21a0fe1b9b
commit 82394debb7
32 changed files with 2393 additions and 18 deletions

View File

@@ -0,0 +1,10 @@
# github.com/spf13/cobra
This package contains a copy of the Apache 2.0-licensed shell scripts that Cobra
uses to integrate tab-completion into bash, zsh, fish and powershell, and the
constants that interface with them. We are re-using these scripts to implement
similar tab-completion for ffcli and the standard library flag package.
The shell scripts were Go constants in the Cobra code, but we have extracted
them into separate files to facilitate gzipping them, and have removed the
activeHelp functionality from them.