main.go 767 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/spf13/cobra"
  5. "os"
  6. "rinne.dev/doh-resolver/app/cmd"
  7. "rinne.dev/doh-resolver/pkg/config"
  8. "rinne.dev/doh-resolver/pkg/console"
  9. )
  10. func main() {
  11. var rootCmd = &cobra.Command{
  12. Use: "doh_resolver",
  13. Long: `Default will run "run" command, you can use "-h" flag to see all subcommands`,
  14. PersistentPreRun: func(command *cobra.Command, args []string) {
  15. config.InitConfig(cmd.Config)
  16. },
  17. }
  18. // 注册命令
  19. rootCmd.AddCommand(
  20. cmd.Run,
  21. )
  22. // 配置默认命令
  23. cmd.RegisterDefaultCmd(rootCmd, cmd.Run)
  24. // 注册全局参数
  25. cmd.RegisterGlobalFlags(rootCmd)
  26. // 执行主命令
  27. if err := rootCmd.Execute(); err != nil {
  28. console.Exit(fmt.Sprintf("Failed to run app with %v: %s", os.Args, err.Error()))
  29. }
  30. }