k3s/pkg/cli/cmds/completion.go

39 lines
790 B
Go

package cmds
import (
"github.com/urfave/cli/v2"
)
func NewCompletionCommand(bash, zsh func(*cli.Context) error) *cli.Command {
installFlag := cli.BoolFlag{
Name: "i",
Usage: "Install source line to rc file",
}
return &cli.Command{
Name: "completion",
Usage: "Install shell completion script",
UsageText: appName + " completion [COMMAND]",
Subcommands: []*cli.Command{
{
Name: "bash",
Usage: "Bash completion",
UsageText: appName + " completion bash [OPTIONS]",
Action: bash,
Flags: []cli.Flag{
&installFlag,
},
},
{
Name: "zsh",
Usage: "Zsh completion",
Action: zsh,
UsageText: appName + " completion zsh [OPTIONS]",
Flags: []cli.Flag{
&installFlag,
},
},
},
}
}