From 2430f46a9948b38b06880606a95dec357d01f619 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 5 May 2024 18:11:56 +0200 Subject: feat: render markdown in option descriptions --- process/main.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 process/main.go (limited to 'process/main.go') diff --git a/process/main.go b/process/main.go new file mode 100644 index 0000000..3c9b67a --- /dev/null +++ b/process/main.go @@ -0,0 +1,37 @@ +package main + +import ( + "log" + "log/slog" + "os" + "searchix/internal/options" + + "github.com/ardanlabs/conf/v3" + "github.com/pkg/errors" +) + +type Config struct { + Input string `conf:"short:i,required,help:NixOS options file (json)"` + Output string `conf:"short:o,default:/dev/stdout"` +} + +func main() { + if os.Getenv("DEBUG") != "" { + slog.SetLogLoggerLevel(slog.LevelDebug) + } + log.SetFlags(0) + + config := Config{} + help, err := conf.Parse("", &config) + if err != nil { + if errors.Is(err, conf.ErrHelpWanted) { + log.Fatalln(help) + } + log.Fatalf("parsing command line: %v", err) + } + + err = options.Process(config.Input, config.Output) + if err != nil { + log.Fatalf("Error processing file: %v", err) + } +} -- cgit 1.4.1