I understand now. I agree that it makes sense to have a way to print the usage in an easily parsed way. But I don't think that making --help and "help" do different things is a good distinction, because both forms are common ways to get a program to give human-readable help. How about using a different word that is not in as common use, such as a "usage" command?
I think this is OK, then. It might be possible to have the command-line code parse "usage" so that min_args and max_args do not have to be specified. That is not necessary as part of a first patch, but it might be a nice refinement later. On Thu, Oct 16, 2014 at 02:50:40PM -0700, Alex Wang wrote: > Sorry for the confusion, I mean: > > `command --help (or -h)` still prints out the usage page, > > `command help` prints the function format (usage). > > What do you think? > > Thanks, > Alex Wang, > > > On Thu, Oct 16, 2014 at 2:41 PM, Ben Pfaff <b...@nicira.com> wrote: > > > On Wed, Oct 15, 2014 at 09:51:54AM -0700, Alex Wang wrote: > > > I'm changing the 'struct command' like this: > > > > > > diff --git a/lib/command-line.h b/lib/command-line.h > > > index 157cb58..57fdff5 100644 > > > --- a/lib/command-line.h > > > +++ b/lib/command-line.h > > > @@ -27,7 +27,7 @@ struct command { > > > const char *name; > > > + const char *usage; > > > int min_args; > > > int max_args; > > > - void (*handler)(int argc, char *argv[]); > > > + void (*handler)(int argc, char *argv[], void *aux); > > > }; > > > > > > The 'usage' will record the format of cmds. (e.g. the 'usage' in 'struct > > > unixctl_command'). The 'help' subcommand will print the command with > > > usage and bash completion script will parse it. > > > > > > The 'handler()' change is for eliminating the 'struct dpctl_command'. > > > > > > I saw this will affect a ton of cmd source files e.g. ovsdb-tool, > > > ovs-benchmark > > > which uses 'struct command'. > > > > > > So, want to know what you think about doing this. > > > > I think it could be a nice step forward but I worry that it will make > > the --help output harder to read. > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev