未验证 提交 17c47455 编写于 作者: LinuxSuRen's avatar LinuxSuRen 提交者: GitHub

Add auto completion for jcli center start (#380)

上级 054cd82f
......@@ -4,6 +4,7 @@ import (
"fmt"
"go.uber.org/zap"
"os"
"path/filepath"
"github.com/jenkins-zh/jenkins-cli/app/i18n"
"github.com/jenkins-zh/jenkins-cli/util"
......@@ -82,6 +83,30 @@ func init() {
centerStartCmd.Flags().BoolVarP(&centerStartOption.DryRun, "dry-run", "", false,
i18n.T("Don't run jenkins.war really"))
err := centerStartCmd.RegisterFlagCompletionFunc("version", func(cmd *cobra.Command, args []string, toComplete string) (strings []string, directive cobra.ShellCompDirective) {
var userHome string
var err error
if userHome, err = homedir.Dir(); err != nil {
return
}
var machedPathes []string
jenkinsWar := fmt.Sprintf("%s/.jenkins-cli/cache/*/jenkins.war", userHome)
if machedPathes, err = filepath.Glob(jenkinsWar); err != nil {
return
}
versionArray := make([]string, len(machedPathes))
for _, path := range machedPathes {
versionArray = append(versionArray, filepath.Base(filepath.Dir(path)))
}
return versionArray, cobra.ShellCompDirectiveDefault
})
if err != nil {
centerCmd.PrintErrf("register flag version failed %#v\n", err)
}
}
var centerStartCmd = &cobra.Command{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册