package cmd import ( "fmt" "os" "github.com/spf13/cobra" "github.com/bakito/adguardhome-sync/pkg/log" "github.com/bakito/adguardhome-sync/version" ) var ( cfgFile string logger = log.GetLogger("root") ) // rootCmd represents the base command when called without any subcommands. var rootCmd = &cobra.Command{ Use: "adguardhome-sync", Short: "Synchronize config from one AdGuardHome instance to another", Version: version.Version, } // Execute adds all child commands to the root command and sets flags appropriately. // This is called by main.main(). It only needs to happen once to the rootCmd. func Execute() { if err := rootCmd.Execute(); err != nil { _, _ = fmt.Println(err) os.Exit(1) } } func init() { // Here you will define your flags and configuration settings. // Cobra supports persistent flags, which, if defined here, // will be global for your application. rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.adguardhome-sync.yaml)") // Cobra also supports local flags, which will only run // when this action is called directly. rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") }