Update/bugfix the "hello" example; emphasize using EBNF syntax,
matching the User's Guide. Correct the Texinfo style guide to
say EBNF, not BNF.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
{
.name = "hello",
.mode = COMMAND_ANY,
{
.name = "hello",
.mode = COMMAND_ANY,
- .handler = &handle_hello_command,
- .help = "print a warm greetings",
- .usage = "[<name>]",
+ .handler = handle_hello_command,
+ .help = "print a warm greeting",
+ .usage = "[name]",
},
{
.chain = foo_command_handlers,
},
{
.chain = foo_command_handlers,
-That's it! The command should now be registered and avaiable to scripts.
+Note that the "usage" text should use the same EBNF that's found
+in the User's Guide: literals in 'single quotes', sequences of
+optional parameters in [square brackets], and alternatives in
+(parentheses|with|vertical bars), and so forth. No angle brackets.
+
+That's it! The command should now be registered and available to scripts.
@section primercmdchain Command Chaining
@section primercmdchain Command Chaining
- Else it's a "Config Command" if it must be used before the
configuration stage completes.
- For a "Driver", list its name.
- Else it's a "Config Command" if it must be used before the
configuration stage completes.
- For a "Driver", list its name.
- - Use BNF style regular expressions to define parameters:
+ - Use EBNF style regular expressions to define parameters:
brackets around zero-or-one choices, parentheses around
exactly-one choices.
- Use \@option, \@file, \@var and other mechanisms where appropriate.
brackets around zero-or-one choices, parentheses around
exactly-one choices.
- Use \@option, \@file, \@var and other mechanisms where appropriate.
.name = "bar",
.handler = &handle_foo_command,
.mode = COMMAND_ANY,
.name = "bar",
.handler = &handle_foo_command,
.mode = COMMAND_ANY,
- .usage = "<address> [enable|disable]",
+ .usage = "address ['enable'|'disable']",
.help = "an example command",
},
{
.name = "baz",
.handler = &handle_foo_command,
.mode = COMMAND_ANY,
.help = "an example command",
},
{
.name = "baz",
.handler = &handle_foo_command,
.mode = COMMAND_ANY,
- .usage = "<address> [enable|disable]",
+ .usage = "address ['enable'|'disable']",
.help = "a sample command",
},
{
.help = "a sample command",
},
{
const struct command_registration hello_command_handlers[] = {
{
.name = "hello",
const struct command_registration hello_command_handlers[] = {
{
.name = "hello",
- .handler = &handle_hello_command,
+ .handler = handle_hello_command,
.mode = COMMAND_ANY,
.help = "prints a warm welcome",
.mode = COMMAND_ANY,
.help = "prints a warm welcome",