kubectl/pkg
Kazuki Suda 9c405e27d0 Add completion support for kubectl plugins
This commit allows us to get shell completion for kubectl plugins.

For example, with the use of a plugin named 'kubectl-krew', completing
   kubectl k<tab>
will include 'krew' in the list of possible completions.

Because the shell completion scripts are generated by Cobra, this commit
took the approach of registering every plugin as a Cobra command.  This
makes Cobra aware of each plugin command when generating completions.

For efficiency, searching for plugins and registering them as Cobra
commands is only done when needed, which is when calling the
'kubectl completion' command in the case of bash, as it includes all
commands and subcommands directly in the bash generated script.

For the other shells, this will need to be done for the
'kubectl __complete' command, in a follow-up command.

Co-authored-by: Marc Khouzam <marc.khouzam@montreal.ca>
Signed-off-by: Kazuki Suda <kazuki.suda@gmail.com>

Kubernetes-commit: 3db3ff53cdf4b106365c5de9194153fc371868a7
2019-04-14 14:40:53 +09:00
..
apply Remove `newlineReporter` custom report 2022-06-01 13:09:47 +08:00
apps Remove `newlineReporter` custom report 2022-06-01 13:09:47 +08:00
cmd Add completion support for kubectl plugins 2019-04-14 14:40:53 +09:00
describe Remove references to openstack and cinder 2022-08-08 16:01:59 -04:00
drain Generalize dry run verify to arbitrary query param 2022-03-09 14:51:50 +00:00
explain unit test v2 explain package 2022-10-17 13:59:17 -07:00
generate Clean unused generators 2021-03-03 22:47:53 +01:00
metricsutil Added --sum flag to kubectl top pod 2021-09-16 09:28:30 -04:00
polymorphichelpers Generate and format files 2022-07-19 20:54:13 -04:00
proxy kubectl proxy: append context host path to request path 2020-12-16 17:37:44 +01:00
rawhttp Close the used file 2021-06-03 15:36:20 +08:00
scale Support kubectl scale --dry-run=server|client 2020-03-30 17:33:15 -04:00
scheme Promote cronjob to batch/v1: kubectl sparse_test prune 2021-05-26 20:08:36 +08:00
util add unit test for normalizer rendering markdown 2022-09-27 14:06:40 +08:00
validation add server-side validation support to kubectl 2022-03-09 14:52:32 +00:00