Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Better error reporting for invalid combinations #57

Open
sk-havok opened this Issue · 5 comments

4 participants

@sk-havok

If you add an invalid flag (such as --drifting) to the default command line at http://try.docopt.org/,
there is no error message as such, just a usage message.

Docopt could do better here, perhaps by reporting which thing it was trying to match at the time and the invalid part.

@keleshev
Owner

Agree. That is definitely a TODO. And should be quite easy—docopt knows which elements it didn't match ("left" elements).

@johari
Owner

@halst What errors do you think can occur while parsing the usage message? For example, should it complain when it fails to find "usage:"? or when program name is not consistent in different usage lines?

@keleshev
Owner

@johari yes, something like this. Python version already complains if there is no "usage:" or if there is more than one "usage:".

When we switch to the new grammar (#104) we will be able to report syntax errors as well.

@benoistlaurent

On the same topic, I think the "Unrecognized option" primitive should be extended to commands and arguments.
Wouldn't it be nice too to make a choice about the -h, --help option?
Right now, this option is valid but does not appear in the command line if programmer didn't write it.
Don't you think it's a bit obscure and docopt should either automatically add this option or do not provide it at all if the user didn't write it down?

@keleshev
Owner

@benoistlaurent agree, this is on my todo-list. Next release will be non-backwards-compatible, so this change should be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.