Add additional info for -0 to --help message

This commit is contained in:
Nobuyoshi Nakada 2023-06-05 10:09:23 +09:00
parent feb946c3e2
commit b5467ae38a
Notes: git 2025-05-14 12:41:59 +00:00

30
ruby.c
View File

@ -245,6 +245,8 @@ show_usage_line(const struct ruby_opt_message *m,
const unsigned int namelen = m->namelen, secondlen = m->secondlen;
const char *sb = highlight ? esc_bold : esc_none;
const char *se = highlight ? esc_reset : esc_none;
const char *desc = str + namelen + secondlen;
unsigned int desclen = (unsigned int)strcspn(desc, "\n");
if (help && (namelen > w) && (int)(namelen + secondlen) >= columns) {
printf(" %s" "%.*s" "%s\n", sb, namelen-1, str, se);
if (secondlen > 1) {
@ -254,16 +256,23 @@ show_usage_line(const struct ruby_opt_message *m,
if (str[n] == ' ') n++;
printf(" %s" "%.*s" "%s\n", sb, second_end-n, str+n, se);
}
printf("%-*s%s\n", w + 2, "",
str + namelen + secondlen);
return;
printf("%-*s%.*s\n", w + 2, "", desclen, desc);
}
else {
const int wrap = help && namelen + secondlen - 1 > w;
printf(" %s%.*s%-*.*s%s%-*s%.*s\n", sb, namelen-1, str,
(wrap ? 0 : w - namelen + 1),
(help ? secondlen-1 : 0), str + namelen, se,
(wrap ? w + 3 : 0), (wrap ? "\n" : ""),
desclen, desc);
}
if (help) {
while (desc[desclen]) {
desc += desclen + 1;
desclen = (unsigned int)strcspn(desc, "\n");
printf("%-*s%.*s\n", w + 2, "", desclen, desc);
}
}
const int wrap = help && namelen + secondlen - 1 > w;
printf(" %s%.*s%-*.*s%s%-*s%s\n", sb, namelen-1, str,
(wrap ? 0 : w - namelen + 1),
(help ? secondlen-1 : 0), str + namelen, se,
(wrap ? w + 3 : 0), (wrap ? "\n" : ""),
str + namelen + secondlen);
}
static void
@ -280,7 +289,8 @@ usage(const char *name, int help, int highlight, int columns)
/* This message really ought to be max 23 lines.
* Removed -h because the user already knows that option. Others? */
static const struct ruby_opt_message usage_msg[] = {
M("-0[octal]", "", "specify record separator (\\0, if no argument)"),
M("-0[octal]", "", "specify record separator (\\0, if no argument)\n"
"(-00 for paragraph mode, -0777 for slurp mode)"),
M("-a", "", "autosplit mode with -n or -p (splits $_ into $F)"),
M("-c", "", "check syntax only"),
M("-Cdirectory", "", "cd to directory before executing your script"),