From 261e7fbc88a2987695fb2240a6d8ec3ee15739c8 Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Fri, 21 Nov 2014 18:01:35 +1100 Subject: [PATCH] Initialise subcommands. Fixes #17. --- cmd.go | 3 +++ parser.go | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/cmd.go b/cmd.go index 5bbeadf..abc028e 100644 --- a/cmd.go +++ b/cmd.go @@ -44,6 +44,9 @@ func (c *cmdGroup) init() error { return fmt.Errorf("duplicate command '%s'", cmd.name) } seen[cmd.name] = true + if err := cmd.init(); err != nil { + return err + } } return nil } diff --git a/parser.go b/parser.go index 0e2545c..53cc1ff 100644 --- a/parser.go +++ b/parser.go @@ -16,3 +16,7 @@ func (p *ParseContext) Peek() *Token { func (p *ParseContext) Return(token *Token) { p.Tokens = p.Tokens.Return(token) } + +func (p *ParseContext) String() string { + return p.SelectedCommand + ": " + p.Tokens.String() +}