From 4cc2326c7f11701869642363e8b588641ca35454 Mon Sep 17 00:00:00 2001 From: Kazuki Suda Date: Fri, 17 Sep 2021 17:40:32 +0900 Subject: [PATCH] Fix `flux completion zsh` to work with `source` only Signed-off-by: Kazuki Suda --- cmd/flux/completion_zsh.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmd/flux/completion_zsh.go b/cmd/flux/completion_zsh.go index 7803af41..a1fc0c01 100644 --- a/cmd/flux/completion_zsh.go +++ b/cmd/flux/completion_zsh.go @@ -17,6 +17,7 @@ limitations under the License. package main import ( + "fmt" "os" "github.com/spf13/cobra" @@ -27,12 +28,12 @@ var completionZshCmd = &cobra.Command{ Short: "Generates zsh completion scripts", Example: `To load completion run -. <(flux completion zsh) && compdef _flux flux +. <(flux completion zsh) To configure your zsh shell to load completions for each session add to your zshrc # ~/.zshrc or ~/.profile -command -v flux >/dev/null && . <(flux completion zsh) && compdef _flux flux +command -v flux >/dev/null && . <(flux completion zsh) or write a cached file in one of the completion directories in your ${fpath}: @@ -43,6 +44,8 @@ mv _flux ~/.oh-my-zsh/completions # oh-my-zsh mv _flux ~/.zprezto/modules/completion/external/src/ # zprezto`, Run: func(cmd *cobra.Command, args []string) { rootCmd.GenZshCompletion(os.Stdout) + // Cobra doesn't source zsh completion file, explicitly doing it here + fmt.Println("compdef _flux flux") }, }