emdbed/cmd/emdbed/main.go

40 lines
700 B
Go

package main
import (
"flag"
"fmt"
"os"
"go.jolheiser.com/emdbed"
)
func main() {
fs := flag.NewFlagSet("emdbed", flag.ExitOnError)
writeFlag := fs.Bool("write", false, "Write output")
writeShortFlag := fs.Bool("w", false, "Write output")
if err := fs.Parse(os.Args[1:]); err != nil {
fmt.Println(err)
return
}
if len(os.Args) < 2 {
fmt.Println("emdbed requires a file argument")
return
}
convert, err := emdbed.ConvertFile(fs.Arg(0))
if err != nil {
fmt.Println(err)
return
}
write := *writeFlag || *writeShortFlag
if !write {
fmt.Println(convert)
return
}
if err := os.WriteFile(fs.Arg(0), []byte(convert), os.ModePerm); err != nil {
fmt.Println(err)
}
}