cli: Fix support for reading input from stdin - prefer file input

Apparently that way of detecting data on stdin is not really fool
proof. Instead of improving that let's just swap the order and look for a file
first. yolo.
This commit is contained in:
Niklas Fasching 2021-12-26 23:24:01 +01:00
parent c82b26b540
commit f2286d48ff

View file

@ -82,8 +82,6 @@ func render(args []string) {
r, path, format := io.Reader(nil), "", "" r, path, format := io.Reader(nil), "", ""
if fi, err := os.Stdin.Stat(); err != nil { if fi, err := os.Stdin.Stat(); err != nil {
log.Fatal(err) log.Fatal(err)
} else if fi.Mode()&os.ModeCharDevice == 0 {
r, path, format = os.Stdin, "./STDIN", args[0]
} else if len(args) == 2 { } else if len(args) == 2 {
f, err := os.Open(args[0]) f, err := os.Open(args[0])
if err != nil { if err != nil {
@ -91,6 +89,8 @@ func render(args []string) {
} }
defer f.Close() defer f.Close()
r, path, format = f, args[0], args[1] r, path, format = f, args[0], args[1]
} else if fi.Mode()&os.ModeCharDevice == 0 {
r, path, format = os.Stdin, "./STDIN", args[0]
} else { } else {
log.Fatal(usage) log.Fatal(usage)
} }