diff options
author | Holger Schurig <holgerschurig@gmail.com> | 2014-05-13 10:28:42 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-05-14 10:03:43 +0200 |
commit | f1f532084a6e9ee8225f047353999b459455df7e (patch) | |
tree | f2b8b1f25c5c630209c6970e3a7ce57a3d55d367 /common/hush.c | |
parent | ab23d0bb3f66cfb7a97a8aa6b8007687ed7a6925 (diff) | |
download | barebox-f1f532084a6e9ee8225f047353999b459455df7e.tar.gz barebox-f1f532084a6e9ee8225f047353999b459455df7e.tar.xz |
commands: harmonize in-barebox documentation
This patch does probably too much, but it's hard (and very
cumbersome/time consuming) to break it out. What is does is this:
* each command has one short description, e.g. "list MUX configuration"
* made sure the short descriptions start lowercase
* each command has one usage. That string contains just the
options, e.g. "[-npn]". It's not part of the long help text.
* that is, it doesn't say "[OPTIONS]" anymore, every usable option
is listed by character in this (short) option string (the long
description is in the long help text, as before)
* help texts have been reworked, to make them
- sometimes smaller
- sometimes describe the options better
- more often present themselves in a nicer format
* all long help texts are now created with BUSYBOX_CMD_HELP_
macros, no more 'static const __maybe_unused char cmd_foobar_help[]'
* made sure the long help texts starts uppercase
* because cmdtp->name and cmdtp->opts together provide the new usage,
all "Usage: foobar" texts have been removed from the long help texts
* BUSYBOX_CMD_HELP_TEXT() provides the trailing newline by itself, this
is nicer in the source code
* BUSYBOX_CMD_HELP_OPT() provides the trailing newline by itself
* made sure no line gets longer than 77 characters
* delibertely renamed cmdtp->usage, so that we can get compile-time
errors (e.g. in out-of-tree modules that use register_command()
* the 'help' command can now always emit the usage, even without
compiled long help texts
* 'help -v' gives a list of commands with their short description, this
is similar like the old "help" command before my patchset
* 'help -a' gives out help of all commands
Signed-off-by: Holger Schurig <holgerschurig@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/hush.c')
-rw-r--r-- | common/hush.c | 55 |
1 files changed, 22 insertions, 33 deletions
diff --git a/common/hush.c b/common/hush.c index 5893c5129b..92f95766a7 100644 --- a/common/hush.c +++ b/common/hush.c @@ -1932,16 +1932,11 @@ static int do_sh(int argc, char *argv[]) return execute_script(argv[1], argc - 1, argv + 1); } -static const __maybe_unused char cmd_sh_help[] = -"Usage: sh filename [arguments]\n" -"\n" -"Execute a shell script\n"; - BAREBOX_CMD_START(sh) .cmd = do_sh, - .usage = "run shell script", + BAREBOX_CMD_DESC("execute a shell script") + BAREBOX_CMD_OPTS("FILE [ARGUMENT...]") BAREBOX_CMD_GROUP(CMD_GRP_SCRIPT) - BAREBOX_CMD_HELP(cmd_sh_help) BAREBOX_CMD_END static int do_source(int argc, char *argv[]) @@ -1969,21 +1964,16 @@ static int do_source(int argc, char *argv[]) static const char *source_aliases[] = { ".", NULL}; -static const __maybe_unused char cmd_source_help[] = -"Usage: . filename [arguments]\n" -"or source filename [arguments]\n" -"\n" -"Read and execute commands from filename in the current shell\n" -"environment and return the exit status of the last command exe-\n" -"cuted from filename\n"; - -static const __maybe_unused char cmd_source_usage[] = -"execute shell script in current shell environment"; +BAREBOX_CMD_HELP_START(source) +BAREBOX_CMD_HELP_TEXT("Read and execute commands from FILE in the current shell environment.") +BAREBOX_CMD_HELP_TEXT("and return the exit status of the last command executed.") +BAREBOX_CMD_HELP_END BAREBOX_CMD_START(source) .aliases = source_aliases, .cmd = do_source, - .usage = cmd_source_usage, + BAREBOX_CMD_DESC("execute shell script in current shell environment") + BAREBOX_CMD_OPTS("FILE [ARGUMENT...]") BAREBOX_CMD_GROUP(CMD_GRP_SCRIPT) BAREBOX_CMD_HELP(cmd_source_help) BAREBOX_CMD_END @@ -1997,32 +1987,31 @@ static int do_dummy_command(int argc, char *argv[]) return 0; } -static const __maybe_unused char cmd_exit_help[] = -"Usage: exit [n]\n" -"\n" -"exit script with a status of n. If n is omitted, the exit status is that\n" -"of the last command executed\n"; +BAREBOX_CMD_HELP_START(exit) +BAREBOX_CMD_HELP_TEXT("Exit script with status ERRLVL n. If ERRLVL is omitted, the exit status is") +BAREBOX_CMD_HELP_TEXT("of the last command executed") +BAREBOX_CMD_HELP_END BAREBOX_CMD_START(exit) .cmd = do_dummy_command, - .usage = "exit script", + BAREBOX_CMD_DESC("exit script") + BAREBOX_CMD_OPTS("[ERRLVL]") BAREBOX_CMD_GROUP(CMD_GRP_SCRIPT) BAREBOX_CMD_HELP(cmd_exit_help) BAREBOX_CMD_END #ifdef CONFIG_HUSH_GETOPT -static const __maybe_unused char cmd_getopt_help[] = -"Usage: getopt <optstring> <var>\n" -"\n" -"hush option parser. <optstring> is a string with valid options. Add\n" -"a colon to an options if this option has a required argument or two\n" -"colons for an optional argument. The current option is saved in <var>,\n" -"arguments are saved in OPTARG. After this command additional nonopts\n" -"can be accessed starting from $1\n"; +BAREBOX_CMD_HELP_START(getopt) +BAREBOX_CMD_HELP_TEXT("OPTSTRING contains the option letters. Add a colon to an options if this") +BAREBOX_CMD_HELP_TEXT("option has a required argument or two colons for an optional argument. The") +BAREBOX_CMD_HELP_TEXT("current option is saved in VAR, arguments are saved in $OPTARG. Any") +BAREBOX_CMD_HELP_TEXT("non-option arguments can be accessed starting from $1.") +BAREBOX_CMD_HELP_END BAREBOX_CMD_START(getopt) .cmd = do_dummy_command, - .usage = "getopt <optstring> <var>", + BAREBOX_CMD_DESC("parse option arguments") + BAREBOX_CMD_OPTS("OPTSTRING VAR") BAREBOX_CMD_GROUP(CMD_GRP_SCRIPT) BAREBOX_CMD_HELP(cmd_getopt_help) BAREBOX_CMD_END |