options: add -? as a synonym of -h (--help)
The short option '-?' was removed nine years ago in commit 43019189, then restored six years later in 5bd92d4c, and then removed again two months later in 743100fe due to getopt() returning '?' for options that aren't recognized, preventing the use of '-?' as a valid option. However, getopt() provides a way to check for unrecognized options via the 'optopt' variable, which gets set only for invalid options. Signed-off-by: Mateusz Kazimierczuk <mataha+savannah@protonmail.com> Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
This commit is contained in:
parent
d3dd403dc7
commit
e65b0ba654
@ -250,7 +250,7 @@ Make the cursor visible in the file browser (putting it on the
|
||||
highlighted item) and in the help viewer. Useful for braille users
|
||||
and people with poor vision.
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
.BR \-h ", " \-? ", " \-\-help
|
||||
Show a summary of the available command-line options and exit.
|
||||
.TP
|
||||
.BR \-i ", " \-\-autoindent
|
||||
|
||||
@ -574,6 +574,7 @@ highlighted item) and in the help viewer. Useful for braille users
|
||||
and people with poor vision.
|
||||
|
||||
@item -h
|
||||
@itemx -?
|
||||
@itemx --help
|
||||
Show a summary of command-line options and exit.
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ not allow appending or prepending to any file.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
.BR \-h ", " \-? ", " \-\-help
|
||||
Show the available command-line options and exit.
|
||||
.P
|
||||
For all existing options, see the \fBnano\fR(1) man page.
|
||||
|
||||
15
src/nano.c
15
src/nano.c
@ -607,7 +607,7 @@ void usage(void)
|
||||
#if defined(ENABLE_BROWSER) || defined(ENABLE_HELP)
|
||||
print_opt("-g", "--showcursor", N_("Show cursor in file browser & help text"));
|
||||
#endif
|
||||
print_opt("-h", "--help", N_("Show this help text and exit"));
|
||||
print_opt("-h, -?", "--help", N_("Show this help text and exit"));
|
||||
#ifndef NANO_TINY
|
||||
print_opt("-i", "--autoindent", N_("Automatically indent new lines"));
|
||||
print_opt("-j", "--jumpyscrolling", N_("Scroll per half-screen, not per line"));
|
||||
@ -1849,7 +1849,7 @@ int main(int argc, char **argv)
|
||||
SET(RESTRICTED);
|
||||
|
||||
while ((optchr = getopt_long(argc, argv, "ABC:DEFGHIJ:KLMNOPQ:RS$T:UVWX:Y:Z"
|
||||
"abcdef:ghijklmno:pqr:s:tuvwxy!%_0", long_options, NULL)) != -1) {
|
||||
"abcdef:gh?ijklmno:pqr:s:tuvwxy!%_0", long_options, NULL)) != -1) {
|
||||
switch (optchr) {
|
||||
#ifndef NANO_TINY
|
||||
case 'A':
|
||||
@ -1999,9 +1999,6 @@ int main(int argc, char **argv)
|
||||
SET(SHOW_CURSOR);
|
||||
break;
|
||||
#endif
|
||||
case 'h':
|
||||
usage();
|
||||
exit(0);
|
||||
#ifndef NANO_TINY
|
||||
case 'i':
|
||||
SET(AUTOINDENT);
|
||||
@ -2098,7 +2095,13 @@ int main(int argc, char **argv)
|
||||
SET(ZERO);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
case 'h':
|
||||
case '?':
|
||||
/* If the option is valid, print the help text and exit. */
|
||||
if (!optopt) {
|
||||
usage();
|
||||
exit(0);
|
||||
}
|
||||
printf(_("Type '%s -h' for a list of available options.\n"), argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user