On Monday, 16 June 2014 at 17:59:13 UTC, Sönke Ludwig wrote:
Am 15.06.2014 19:35, schrieb Bob Tolbert:
One thing that would be nice is support for multiple help
screens (e.g. one per command). For DUB  (or GIT) for
example there is one main help screen that lists all commands
along with common options and then one help screen per command
that lists the individual arguments, options and a summary of
what the command does. But maybe for such more complex CLIs it
starts to be more efficient to use a programmatic approach.
if you have a look at the gitD examples, they do just this. If
you get the general help for gitD, but if you do
gitD push -h
gitD help push
you get the help for the sub-command "push"
so doing this with 'dub' would be pretty simple.
And you don't have to use external sub-commands either. You can
parse the basic args with the general doc string and then based
on the sub-command chosen, re-parse with the options specific to
that sub module.
I haven't looked at the dub source code, but I'd be happy to help
sketch out how this might work there specifically.