| | |
| | | } |
| | | |
| | | var rootCmd = &cobra.Command{ |
| | | Use: "kb", |
| | | Use: "kb-cli", |
| | | Short: "知识库搜索与管理工具", |
| | | Long: `kb - 知识库搜索与管理工具 |
| | | Long: `kb-cli - 知识库搜索与管理工具 |
| | | |
| | | Global: [--vault=<路径>] [--db=<路径>]`, |
| | | Global: [--vault <路径>] [--db <路径>]`, |
| | | } |
| | | |
| | | func Execute() { |
| | |
| | | rootCmd.Long = sb.String() |
| | | |
| | | if err := rootCmd.Execute(); err != nil { |
| | | cobra.CheckErr(err) |
| | | // 如果是参数不足的错误,显示对应命令的 help |
| | | errMsg := err.Error() |
| | | if strings.Contains(errMsg, "arg(s)") || strings.Contains(errMsg, "received") || strings.Contains(errMsg, "required flag") { |
| | | // 找到当前命令并显示其 help |
| | | cmd, _, findErr := rootCmd.Find(os.Args[1:]) |
| | | if findErr == nil { |
| | | cmd.Help() |
| | | } |
| | | fmt.Println() // 空行 |
| | | } else { |
| | | cobra.CheckErr(err) |
| | | } |
| | | } |
| | | } |
| | | |