harness-drone/vendor/github.com/eknkc/amber/amberc/cli.go
2015-09-29 18:21:17 -07:00

48 lines
946 B
Go

package main
import (
"flag"
"fmt"
amber "github.com/eknkc/amber"
"os"
)
var prettyPrint bool
var lineNumbers bool
func init() {
flag.BoolVar(&prettyPrint, "prettyprint", true, "Use pretty indentation in output html.")
flag.BoolVar(&prettyPrint, "pp", true, "Use pretty indentation in output html.")
flag.BoolVar(&lineNumbers, "linenos", true, "Enable debugging information in output html.")
flag.BoolVar(&lineNumbers, "ln", true, "Enable debugging information in output html.")
flag.Parse()
}
func main() {
input := flag.Arg(0)
if len(input) == 0 {
fmt.Fprintln(os.Stderr, "Please provide an input file. (amberc input.amber)")
os.Exit(1)
}
cmp := amber.New()
cmp.PrettyPrint = prettyPrint
cmp.LineNumbers = lineNumbers
err := cmp.ParseFile(input)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
err = cmp.CompileWriter(os.Stdout)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}