diff --git a/parse.go b/parse.go index 0633bb6..d4a6334 100644 --- a/parse.go +++ b/parse.go @@ -21,6 +21,9 @@ type path struct { // String gets a string representation of the given path func (p path) String() string { + if len(p.fields) == 0 { + return "args" + } return "args." + strings.Join(p.fields, ".") } @@ -330,7 +333,7 @@ func cmdFromStruct(name string, dest path, t reflect.Type) (*command, error) { } } if hasPositional && len(cmd.subcommands) > 0 { - return nil, fmt.Errorf("%T cannot have both subcommands and positional arguments", t) + return nil, fmt.Errorf("%s cannot have both subcommands and positional arguments", dest) } return &cmd, nil