github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/workload/cli/bash_complete.go (about)

     1  // Copyright 2019 The Cockroach Authors.
     2  //
     3  // Use of this software is governed by the Business Source License
     4  // included in the file licenses/BSL.txt.
     5  //
     6  // As of the Change Date specified in that file, in accordance with
     7  // the Business Source License, use of this software will be governed
     8  // by the Apache License, Version 2.0, included in the file
     9  // licenses/APL.txt.
    10  
    11  package cli
    12  
    13  import "github.com/spf13/cobra"
    14  
    15  func init() {
    16  	AddSubCmd(func(userFacing bool) *cobra.Command {
    17  		var bashCmd = SetCmdDefaults(&cobra.Command{
    18  			Use:   `gen-bash-completions <output-file>`,
    19  			Short: `generate bash completions for workload command`,
    20  			Args:  cobra.ExactArgs(1),
    21  		})
    22  		bashCmd.Run = func(cmd *cobra.Command, args []string) {
    23  			for parent := cmd.Parent(); parent != nil; parent = cmd.Parent() {
    24  				cmd = parent
    25  			}
    26  			if err := cmd.GenBashCompletionFile(args[0]); err != nil {
    27  				panic(err)
    28  			}
    29  		}
    30  		bashCmd.Hidden = userFacing
    31  		return bashCmd
    32  	})
    33  }