code: func NewCmdCompletion(out io.Writer, boilerPlate string) *cobra.Command {
  	shells := []string{}
  	for s := range completionShells {
  		shells = append(shells, s)
  	}
  
  	cmd := &cobra.Command{
  		Use:                   "completion SHELL",
  		DisableFlagsInUseLine: true,
  		Short:                 i18n.T("Output shell completion code for the specified shell (bash or zsh)"),
  		Long:                  completionLong,
  		Example:               completionExample,
  		Run: func(cmd *cobra.Command, args []string) {
  			err := RunCompletion(out, boilerPlate, cmd, args)
  			cmdutil.CheckErr(err)
  		},
  		ValidArgs: shells,
  	}
  
  	return cmd
  }
docs: // NewCmdCompletion creates the `completion` command