cmd.go 764 B

12345678910111213141516171819202122232425262728
  1. package cmd
  2. import (
  3. "os"
  4. "github.com/runningwater/gohub/pkg/helpers"
  5. "github.com/spf13/cobra"
  6. )
  7. // Env 全局选项 --env 配置的值
  8. var Env string
  9. // RegisterGlobalFlags 注册全局选项(flag)
  10. func RegisterGlobalFlags(rootCmd *cobra.Command) {
  11. rootCmd.PersistentFlags().StringVarP(&Env, "env", "e", "", "加载.env文件,如 --env=local, 加载的是.env.local 文件")
  12. }
  13. // RegisterDefaultCmd 注册默认命令
  14. func RegisterDefaultCmd(rootCmd *cobra.Command, subCmd *cobra.Command) {
  15. cmd, _, err := rootCmd.Find(os.Args[1:])
  16. firstArg := helpers.FirstElement(os.Args[1:])
  17. if err == nil && cmd.Use == rootCmd.Use && firstArg != "-h" && firstArg != "--help" {
  18. args := append([]string{subCmd.Use}, os.Args[1:]...)
  19. rootCmd.SetArgs(args)
  20. }
  21. }