[PATCH 10/16] Style the gdb welcome message

Tom Tromey
2018-11-28T00:14:46Z

This changes gdb to style the welcome message that is shown by
default. The styling is only done interactively.

gdb/ChangeLog
2018-11-27 Tom Tromey <tom@tromey.com>

* top.c (print_gdb_version): Style gdb version number.

gdb/testsuite/ChangeLog
2018-11-27 Tom Tromey <tom@tromey.com>

* gdb.base/style.exp: Add test for version number styling.
---
gdb/ChangeLog | 4 ++++
gdb/testsuite/ChangeLog | 4 ++++
gdb/testsuite/gdb.base/style.exp | 6 ++++++
gdb/top.c | 9 ++++++++-
4 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp
index 8b82ae99fa..a5bdc2795f 100644
--- a/gdb/testsuite/gdb.base/style.exp
+++ b/gdb/testsuite/gdb.base/style.exp
@@ -44,4 +44,10 @@ save_vars { env(TERM) } {
gdb_test "break main" "file $base_file_expr.*"

gdb_test "print &main" " = .* <$main_expr>"
+
+ gdb_exit
+ gdb_spawn
+
+ gdb_test "" "\033\\\[35;1mGNU gdb.*\033\\\[m.*" \
+ "version is styled"
}
diff --git a/gdb/top.c b/gdb/top.c
index 4a0fedb6a8..50c6cff3d9 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1281,7 +1281,14 @@ print_gdb_version (struct ui_file *stream, bool interactive)
program to parse, and is just canonical program name and version
number, which starts after last space. */

- fprintf_filtered (stream, "GNU gdb %s%s\n", PKGVERSION, version);
+ ui_file_style style;
+ if (interactive)
+ {
+ ui_file_style nstyle = { ui_file_style::MAGENTA, ui_file_style::NONE,
+ ui_file_style::BOLD };
+ style = nstyle;
+ }
+ fprintf_styled (stream, style, "GNU gdb %s%s\n", PKGVERSION, version);

/* Second line is a copyright notice. */

--
2.17.2