// Command toml-test-decoder satisfies the toml-test interface for testing TOML // decoders. Namely, it accepts TOML on stdin and outputs JSON on stdout. package main import ( "encoding/json" "flag" "log" "os" "path" "github.com/BurntSushi/toml" "github.com/BurntSushi/toml/internal/tag" ) func init() { log.SetFlags(0) flag.Usage = usage flag.Parse() } func usage() { log.Printf("Usage: %s < toml-file\n", path.Base(os.Args[0])) flag.PrintDefaults() os.Exit(1) } func main() { if flag.NArg() != 0 { flag.Usage() } var decoded interface{} if _, err := toml.NewDecoder(os.Stdin).Decode(&decoded); err != nil { log.Fatalf("Error decoding TOML: %s", err) } j := json.NewEncoder(os.Stdout) j.SetIndent("", " ") if err := j.Encode(tag.Add("", decoded)); err != nil { log.Fatalf("Error encoding JSON: %s", err) } }