Add the "set style source" command

This adds "set style source" (and "show style source") commands.  This
gives the user control over whether source code is highlighted.

gdb/ChangeLog
2019-03-14  Tom Tromey  <tromey@adacore.com>

	* NEWS: Add item for "style sources" commands.
	* source-cache.c (source_cache::get_source_lines): Check
	source_styling.
	* cli/cli-style.c (source_styling): New global.
	(_initialize_cli_style): Add "style sources" commands.
	(show_style_sources): New function.
	* cli/cli-style.h (source_styling): Declare.

gdb/doc/ChangeLog
2019-03-14  Tom Tromey  <tromey@adacore.com>

	* gdb.texinfo (Output Styling): Document "set style source" and
	"show style source".

gdb/testsuite/ChangeLog
2019-03-14  Tom Tromey  <tromey@adacore.com>

	* gdb.base/style.exp: Add "set style sources" test.
This commit is contained in:
Tom Tromey
2019-03-08 13:54:07 -07:00
parent 6f11e6824e
commit d085f98901
9 changed files with 74 additions and 1 deletions

View File

@@ -31,6 +31,11 @@ int cli_styling = 0;
int cli_styling = 1;
#endif
/* True if source styling is enabled. Note that this is only
consulted when cli_styling is true. */
int source_styling = 1;
/* Name of colors; must correspond to ui_file_style::basic_color. */
static const char * const cli_colors[] = {
"none",
@@ -230,6 +235,16 @@ show_style_enabled (struct ui_file *file, int from_tty,
fprintf_filtered (file, _("CLI output styling is disabled.\n"));
}
static void
show_style_sources (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
{
if (source_styling)
fprintf_filtered (file, _("Source code styling is enabled.\n"));
else
fprintf_filtered (file, _("Source code styling is disabled.\n"));
}
void
_initialize_cli_style ()
{
@@ -249,6 +264,20 @@ If enabled, output to the terminal is styled."),
set_style_enabled, show_style_enabled,
&style_set_list, &style_show_list);
add_setshow_boolean_cmd ("sources", no_class, &source_styling, _("\
Set whether source code styling is enabled."), _("\
Show whether source code styling is enabled."), _("\
If enabled, source code is styled.\n"
#ifdef HAVE_SOURCE_HIGHLIGHT
"Note that source styling only works if styling in general is enabled,\n\
see \"show style enabled\"."
#else
"Source highlighting is disabled in this installation of gdb, because\n\
it was not linked against GNU Source Highlight."
#endif
), set_style_enabled, show_style_sources,
&style_set_list, &style_show_list);
#define STYLE_ADD_SETSHOW_COMMANDS(STYLE, NAME, PREFIX_DOC) \
STYLE.add_setshow_commands (NAME, no_class, PREFIX_DOC, \
&style_set_list, \