mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-28 13:43:02 +00:00
doc: document colorized diagnostics
* src/getargs.c (argmatch_color_group): New. (usage): Document --color and --style. * doc/bison.texi (Bison Options): Split into three subsections. Document --color and --style.
This commit is contained in:
@@ -377,6 +377,12 @@ Invoking Bison
|
||||
* Option Cross Key:: Alphabetical list of long options.
|
||||
* Yacc Library:: Yacc-compatible @code{yylex} and @code{main}.
|
||||
|
||||
Bison Options
|
||||
|
||||
* Operation Modes:: Options controling the global behavior of @command{bison}
|
||||
* Tuning the Parser:: Options changing the generated parsers
|
||||
* Adjust the Output:: Options controling the output
|
||||
|
||||
Parsers Written In Other Languages
|
||||
|
||||
* C++ Parsers:: The interface to generate C++ parser classes
|
||||
@@ -10290,9 +10296,16 @@ Here is a list of options that can be used with Bison, alphabetized by
|
||||
short option. It is followed by a cross key alphabetized by long
|
||||
option.
|
||||
|
||||
@menu
|
||||
* Operation Modes:: Options controling the global behavior of @command{bison}
|
||||
* Tuning the Parser:: Options changing the generated parsers
|
||||
* Adjust the Output:: Options controling the output
|
||||
@end menu
|
||||
|
||||
@node Operation Modes
|
||||
@subsection Operation Modes
|
||||
|
||||
@c Please, keep this ordered as in 'bison --help'.
|
||||
@noindent
|
||||
Operations modes:
|
||||
@table @option
|
||||
@item -h
|
||||
@itemx --help
|
||||
@@ -10522,9 +10535,34 @@ they are explicitly enabled by @option{-Werror=@var{category}}.
|
||||
Deactivate the error treatment for this @var{category}. However, the warning
|
||||
itself won't be disabled, or enabled, by this option.
|
||||
|
||||
@item --color[=@var{when}]
|
||||
Control whether diagnostics are colorized, depending on @var{when}:
|
||||
@table @code
|
||||
@item always
|
||||
@itemx yes
|
||||
Enable colorized diagnostics.
|
||||
|
||||
@item never
|
||||
@itemx no
|
||||
Disable colorized diagnostics.
|
||||
|
||||
@item auto @rm{(default)}
|
||||
@itemx tty
|
||||
Diagnostics will be colorized if the output device is a tty, i.e. when the
|
||||
output goes directly to a text screen or terminal emulator window.
|
||||
@end table
|
||||
@option{--color} is equivalent to @option{--color=always}.
|
||||
|
||||
@item --style=@var{file}
|
||||
Specifies the CSS style @var{file} to use when colorizing. It has an effect
|
||||
only when the @option{--color} option is effective. The
|
||||
@file{bison-default.css} file provide a good example from which to define
|
||||
your own style file. See the documentation of libtextstyle for more
|
||||
details.
|
||||
|
||||
@item -f [@var{feature}]
|
||||
@itemx --feature[=@var{feature}]
|
||||
Activate miscellaneous @var{feature}. @var{feature} can be one of:
|
||||
Activate miscellaneous @var{feature}s. @var{Feature} can be one of:
|
||||
@table @code
|
||||
@item caret
|
||||
@itemx diagnostics-show-caret
|
||||
@@ -10649,9 +10687,10 @@ the output files.
|
||||
@end table
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
Tuning the parser:
|
||||
@node Tuning the Parser
|
||||
@subsection Tuning the Parser
|
||||
|
||||
@c Please, keep this ordered as in 'bison --help'.
|
||||
@table @option
|
||||
@item -t
|
||||
@itemx --debug
|
||||
@@ -10734,9 +10773,10 @@ This is similar to how most shells resolve commands.
|
||||
Pretend that @code{%token-table} was specified. @xref{Decl Summary}.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
Adjust the output:
|
||||
@node Adjust the Output
|
||||
@subsection Adjust the Output
|
||||
|
||||
@c Please, keep this ordered as in 'bison --help'.
|
||||
@table @option
|
||||
@item --defines[=@var{file}]
|
||||
Pretend that @code{%defines} was specified, i.e., write an extra output
|
||||
|
||||
@@ -154,6 +154,49 @@ flags_argmatch (const char *opt,
|
||||
argmatch_## FlagName ## _usage, \
|
||||
All, &FlagName ## _flag, Args)
|
||||
|
||||
/*---------------------.
|
||||
| --color's handling. |
|
||||
`---------------------*/
|
||||
|
||||
enum color
|
||||
{
|
||||
color_always,
|
||||
color_never,
|
||||
color_auto
|
||||
};
|
||||
|
||||
ARGMATCH_DEFINE_GROUP(color, enum color);
|
||||
|
||||
static const argmatch_color_doc argmatch_color_docs[] =
|
||||
{
|
||||
{ "always", N_("colorize the output") },
|
||||
{ "never", N_("don't colorize the output") },
|
||||
{ "auto", N_("colorize if the output device is a tty") },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
static const argmatch_color_arg argmatch_color_args[] =
|
||||
{
|
||||
{ "always", color_always },
|
||||
{ "yes", color_always },
|
||||
{ "never", color_never },
|
||||
{ "no", color_never },
|
||||
{ "auto", color_auto },
|
||||
{ "tty", color_auto },
|
||||
{ NULL, color_always },
|
||||
};
|
||||
|
||||
const argmatch_color_group_type argmatch_color_group =
|
||||
{
|
||||
argmatch_color_args,
|
||||
argmatch_color_docs,
|
||||
/* TRANSLATORS: Use the same translation for WHEN as in the
|
||||
--color=WHEN help message. */
|
||||
N_("WHEN can be one of the following:"),
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/*----------------------.
|
||||
| --report's handling. |
|
||||
`----------------------*/
|
||||
@@ -187,6 +230,8 @@ const argmatch_report_group_type argmatch_report_group =
|
||||
{
|
||||
argmatch_report_args,
|
||||
argmatch_report_docs,
|
||||
/* TRANSLATORS: Use the same translation for THINGS as in the
|
||||
--report=THINGS help message. */
|
||||
N_("THINGS is a list of comma separated words that can include:"),
|
||||
NULL
|
||||
};
|
||||
@@ -282,6 +327,8 @@ const argmatch_feature_group_type argmatch_feature_group =
|
||||
{
|
||||
argmatch_feature_args,
|
||||
argmatch_feature_docs,
|
||||
/* TRANSLATORS: Use the same translation for FEATURES as in the
|
||||
--feature=FEATURES help message. */
|
||||
N_("FEATURES is a list of comma separated words that can include:"),
|
||||
NULL
|
||||
};
|
||||
@@ -331,6 +378,8 @@ Operation modes:\n\
|
||||
-u, --update apply fixes to the source grammar file and exit\n\
|
||||
-y, --yacc emulate POSIX Yacc\n\
|
||||
-W, --warnings[=CATEGORY] report the warnings falling in CATEGORY\n\
|
||||
--color[=WHEN] whether to colorize the diagnostics\n\
|
||||
--style=FILE specify the CSS FILE for colorizer diagnostics\n\
|
||||
-f, --feature[=FEATURES] activate miscellaneous features\n\
|
||||
\n\
|
||||
"), stdout);
|
||||
@@ -367,6 +416,9 @@ Output:\n\
|
||||
"), stdout);
|
||||
putc ('\n', stdout);
|
||||
|
||||
argmatch_color_usage (stdout);
|
||||
putc ('\n', stdout);
|
||||
|
||||
warning_usage (stdout);
|
||||
putc ('\n', stdout);
|
||||
|
||||
@@ -600,6 +652,8 @@ getargs_colors (int argc, char *argv[])
|
||||
else
|
||||
handle_color_option (color);
|
||||
}
|
||||
else if (STREQ ("--color", arg))
|
||||
handle_color_option (NULL);
|
||||
else if (STRPREFIX_LIT ("--style=", arg))
|
||||
{
|
||||
const char *style = arg + strlen ("--style=");
|
||||
|
||||
Reference in New Issue
Block a user