Add basic parser and org -> AST -> org rendering

This commit is contained in:
Niklas Fasching 2018-12-02 14:06:08 +01:00
parent 60835c66fc
commit 0b2972e32a
14 changed files with 1123 additions and 0 deletions

31
cmd/org/org.go Normal file
View file

@ -0,0 +1,31 @@
package main
import (
"bytes"
"io/ioutil"
"log"
"os"
"strings"
"github.com/niklasfasching/org"
)
func main() {
log.SetFlags(0)
if len(os.Args) < 3 {
log.Println("USAGE: org FILE OUTPUT_FORMAT")
log.Fatal("supported output formats: org")
}
bs, err := ioutil.ReadFile(os.Args[1])
if err != nil {
log.Fatal(err)
}
r, out := bytes.NewReader(bs), ""
switch strings.ToLower(os.Args[2]) {
case "org":
out = org.NewDocument().Parse(r).Write(org.NewOrgWriter()).String()
default:
log.Fatal("Unsupported output format")
}
log.Println(out)
}