-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
35 lines (29 loc) · 899 Bytes
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package main
import (
"fmt"
"os"
"github.com/spf13/pflag"
"github.com/code-game-project/cge-parser/parser"
"github.com/code-game-project/cge-parser/protobuf"
)
func run() error {
comments := pflag.Bool("comments", false, "include doc comments in output")
onlyMeta := pflag.Bool("only-meta", false, "stop parsing after sending the metadata message")
tokens := pflag.Bool("tokens", false, "return all parsed tokens")
noObjects := pflag.Bool("no-objects", false, "do not return objects")
noWarn := pflag.Bool("no-warn", false, "disable warnings")
pflag.Parse()
return parser.Parse(os.Stdin, protobuf.NewSender(os.Stdout), parser.Config{
IncludeComments: *comments,
OnlyMetadata: *onlyMeta,
SendTokens: *tokens,
NoObjects: *noObjects,
DisableWarnings: *noWarn,
})
}
func main() {
if err := run(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}