package main import ( "flag" "fmt" "os" "git.mousesoft.ru/ms/drawio-export/pkg/drawio" ) var ( appname string // Наименование приложения version string // Версия приложения ) type flags struct { flagHelp bool // Вывести справку о приложении и выйти flagVersion bool // Вывести информацию о версии приложения и выйти flagIgnoreErrors bool // Игнорировать ошибки } func main() { var ( opts drawio.Options // Аргументы командной строки приложения flags flags // Флаги командной строки ) initFlags(&opts, &flags) flag.Parse() if flags.flagHelp { flag.Usage() os.Exit(0) } if flags.flagVersion { _, _ = fmt.Println(appname, version) os.Exit(0) } if flag.NArg() < 1 { flag.Usage() os.Exit(1) } exporter := drawio.NewWithOptions(&opts) if err := exporter.Export(flag.Args()...); err != nil && !flags.flagIgnoreErrors { fmt.Fprintln(os.Stderr, "Error:", err) os.Exit(1) } }