1
0
Fork 0
mirror of https://github.com/emojisum/emojisum.git synced 2025-07-16 13:50:27 +00:00

emoji: more of a draft of a convention

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
Vincent Batts 2016-12-13 14:02:39 -05:00
parent 2332d1260c
commit 3efa665df0
Signed by: vbatts
GPG key ID: 10937E57733F1362
8 changed files with 637 additions and 536 deletions

View file

@ -4,44 +4,43 @@ package main
import (
"encoding/json"
"flag"
"log"
"os"
"text/template"
"github.com/vbatts/emojisum/emoji"
)
func main() {
input, err := os.Open("map-draft.json")
flag.Parse()
input, err := os.Open(*flInput)
if err != nil {
log.Fatal(err)
}
defer input.Close()
// these are an ordered list, referened by a byte (each byte of a checksum digest)
Map := []string{}
vm := emoji.VersionedMap{}
dec := json.NewDecoder(input)
if err := dec.Decode(&Map); err != nil {
if err := dec.Decode(&vm); err != nil {
log.Fatal(err)
}
output, err := os.Create("map_gen.go")
output, err := os.Create(*flOutput)
if err != nil {
log.Fatal(err)
}
defer output.Close()
if err := mapGoTemp.Execute(output, Map); err != nil {
mapGoTemp := template.Must(template.ParseFiles(*flTemplate))
if err := mapGoTemp.Execute(output, vm); err != nil {
log.Fatal(err)
}
}
var (
mapGoText = `// THIS FILE IS GENERATED. DO NOT EDIT.
package emoji
var sumList = []string{ {{- range . }}
"{{.}}",{{- end }}
}
`
mapGoTemp = template.Must(template.New("map.go").Parse(mapGoText))
flInput = flag.String("in", "emojimap.json", "json input")
flOutput = flag.String("out", "map_gen.go", "golang output")
flTemplate = flag.String("template", "map_gen.tmpl", "template of golang source to use")
)