Алексей Бадяев b32f3ab88a
Some checks failed
golangci-lint / lint (stable, ubuntu-latest) (push) Failing after 4s
golangci-lint / lint (stable, windows-latest) (push) Failing after 12s
build / build (push) Failing after 27s
build / build_windows (push) Successful in 52s
Добавлен линтер golangci-lint
2024-10-17 23:29:54 +07:00

57 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
}
}