package main import ( "flag" "log" "os" ) const ( deprecatedFlagProgOnly = "prog_only" deprecatedFlagExecOnly = "exec_only" ) var ( _ = flag.Bool("prog_only", false, "DEPRECATED (reflect mode) Only generate the reflection program; write it to stdout and exit.") _ = flag.String("exec_only", "", "DEPRECATED (reflect mode) If set, execute this reflection program.") ) // notifyAboutDeprecatedFlags prints a warning message for a deprecated flags if they are set. func notifyAboutDeprecatedFlags() { const resetColorPostfix = "\033[0m" logger := initWarningLogger() flag.Visit(func(f *flag.Flag) { switch f.Name { case deprecatedFlagProgOnly: logger.Println("The -prog_only flag is deprecated and has no effect.", resetColorPostfix) case deprecatedFlagExecOnly: logger.Println("The -exec_only flag is deprecated and has no effect.", resetColorPostfix) } }) } func initWarningLogger() *log.Logger { const ( yellowColor = "\033[33m" warningPrefix = yellowColor + "WARNING: " ) return log.New(os.Stdout, warningPrefix, log.Ldate|log.Ltime) }