...
1
2
3 package main
4
5 import (
6 "encoding/json"
7 "flag"
8 "log"
9 "os"
10 "path"
11
12 "github.com/BurntSushi/toml"
13 "github.com/BurntSushi/toml/internal/tag"
14 )
15
16 func init() {
17 log.SetFlags(0)
18 flag.Usage = usage
19 flag.Parse()
20 }
21
22 func usage() {
23 log.Printf("Usage: %s < toml-file\n", path.Base(os.Args[0]))
24 flag.PrintDefaults()
25 os.Exit(1)
26 }
27
28 func main() {
29 if flag.NArg() != 0 {
30 flag.Usage()
31 }
32
33 var decoded interface{}
34 if _, err := toml.NewDecoder(os.Stdin).Decode(&decoded); err != nil {
35 log.Fatalf("Error decoding TOML: %s", err)
36 }
37
38 j := json.NewEncoder(os.Stdout)
39 j.SetIndent("", " ")
40 if err := j.Encode(tag.Add("", decoded)); err != nil {
41 log.Fatalf("Error encoding JSON: %s", err)
42 }
43 }
44
View as plain text