cmd.go 720 B

12345678910111213141516171819202122232425
  1. package cmd
  2. import (
  3. "github.com/spf13/cobra"
  4. "os"
  5. "rinne.dev/doh-resolver/pkg/helpers"
  6. )
  7. // Config 存储配置文件
  8. var Config string
  9. // RegisterGlobalFlags 注册全局选项(flag)
  10. func RegisterGlobalFlags(rootCmd *cobra.Command) {
  11. rootCmd.PersistentFlags().StringVarP(&Config, "config", "c", "config.yaml", "load config file")
  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. }