From 622d47071ab4e84f73a1ce05b49ca9287069a091 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Sun, 29 May 2022 19:16:13 -0400 Subject: [PATCH] Rename second parser attempt --- argh/cmd/argh/main.go | 21 ++++++++++++++++----- argh/parser.go | 4 ++-- argh/parser_test.go | 6 +++--- argh/querier_test.go | 2 +- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/argh/cmd/argh/main.go b/argh/cmd/argh/main.go index 1313da4..e99ff48 100644 --- a/argh/cmd/argh/main.go +++ b/argh/cmd/argh/main.go @@ -7,20 +7,31 @@ import ( "os" "git.meatballhat.com/x/box-o-sand/argh" + "github.com/davecgh/go-spew/spew" ) func main() { + asJSON := os.Getenv("ARGH_OUTPUT_JSON") == "enabled" + log.SetFlags(0) - ast, err := argh.ParseArgs2(os.Args, nil) + pt, err := argh.ParseArgs(os.Args, nil) if err != nil { log.Fatal(err) } - b, err := json.MarshalIndent(ast, "", " ") - if err != nil { - log.Fatal(err) + ast := argh.NewQuerier(pt.Nodes).AST() + + if asJSON { + b, err := json.MarshalIndent(ast, "", " ") + if err != nil { + log.Fatal(err) + } + + fmt.Println(string(b)) + + return } - fmt.Println(string(b)) + spew.Dump(ast) } diff --git a/argh/parser.go b/argh/parser.go index d994efe..f98303e 100644 --- a/argh/parser.go +++ b/argh/parser.go @@ -24,14 +24,14 @@ type ParseTree struct { Nodes []Node `json:"nodes"` } -func ParseArgs2(args []string, pCfg *ParserConfig) (*ParseTree, error) { +func ParseArgs(args []string, pCfg *ParserConfig) (*ParseTree, error) { p := &parser{} p.init( strings.NewReader(strings.Join(args, string(nul))), pCfg, ) - tracef("ParseArgs2(...) parser=%+#v", p) + tracef("ParseArgs(...) parser=%+#v", p) return p.parseArgs() } diff --git a/argh/parser_test.go b/argh/parser_test.go index 5265e09..0a4ad7c 100644 --- a/argh/parser_test.go +++ b/argh/parser_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" ) -func TestParser2(t *testing.T) { +func TestParser(t *testing.T) { for _, tc := range []struct { name string args []string @@ -766,7 +766,7 @@ func TestParser2(t *testing.T) { return } - pt, err := argh.ParseArgs2(tc.args, tc.cfg) + pt, err := argh.ParseArgs(tc.args, tc.cfg) if err != nil || tc.expErr != nil { if !assert.ErrorIs(ct, err, tc.expErr) { spew.Dump(err, tc.expErr) @@ -788,7 +788,7 @@ func TestParser2(t *testing.T) { return } - pt, err := argh.ParseArgs2(tc.args, tc.cfg) + pt, err := argh.ParseArgs(tc.args, tc.cfg) if err != nil || tc.expErr != nil { if !assert.ErrorIs(ct, err, tc.expErr) { spew.Dump(pt) diff --git a/argh/querier_test.go b/argh/querier_test.go index edd5330..06e2dae 100644 --- a/argh/querier_test.go +++ b/argh/querier_test.go @@ -34,7 +34,7 @@ func TestQuerier_Program(t *testing.T) { }, } { t.Run(tc.name, func(ct *testing.T) { - pt, err := argh.ParseArgs2(tc.args, tc.cfg) + pt, err := argh.ParseArgs(tc.args, tc.cfg) require.Nil(ct, err) prog, ok := argh.NewQuerier(pt.Nodes).Program()