From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [PATCH] Style URLs in GDB output
Date: Wed, 9 Mar 2022 17:31:52 -0700 [thread overview]
Message-ID: <20220310003152.80655-1-tom@tromey.com> (raw)
I noticed that GDB will display URLs in a few spots. This changes
them to be styled. Originally I thought I'd introduce a new "url"
style, but there aren't many places to use this, so I just reused
filename styling instead. This patch also changes the debuginfod URL
list to be printed one URL per line. I think this is probably a bit
easier to read.
---
gdb/debuginfod-support.c | 25 +++++++++++++++++++++----
gdb/doc/gdb.texinfo | 2 +-
gdb/testsuite/gdb.base/style.exp | 5 +++--
gdb/top.c | 10 +++++++---
4 files changed, 32 insertions(+), 10 deletions(-)
diff --git a/gdb/debuginfod-support.c b/gdb/debuginfod-support.c
index b44ce67c340..d4255a5d2b3 100644
--- a/gdb/debuginfod-support.c
+++ b/gdb/debuginfod-support.c
@@ -164,10 +164,27 @@ debuginfod_is_enabled ()
if (debuginfod_enabled == debuginfod_ask)
{
- int resp = nquery (_("\nThis GDB supports auto-downloading debuginfo " \
- "from the following URLs:\n%s\nEnable debuginfod " \
- "for this session? "),
- urls);
+ printf_filtered (_("\nThis GDB supports auto-downloading debuginfo " \
+ "from the following URLs:\n"));
+
+ gdb::string_view url_view (urls);
+ while (true)
+ {
+ url_view = url_view.substr (url_view.find_first_not_of (' '));
+ if (url_view.empty ())
+ break;
+ size_t off = url_view.find_first_of (' ');
+ printf_filtered
+ (_(" <%ps>\n"),
+ styled_string (file_name_style.style (),
+ gdb::to_string (url_view.substr (0,
+ off)).c_str ()));
+ if (off == gdb::string_view::npos)
+ break;
+ url_view = url_view.substr (off);
+ }
+
+ int resp = nquery (_("Enable debuginfod for this session? "));
if (!resp)
{
printf_filtered (_("Debuginfod has been disabled.\nTo make this " \
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index e61cef36a2d..6e0d0e1f26f 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -26239,7 +26239,7 @@ their characteristics and the visual aspect of each style.
The style-able objects are:
@table @code
@item filename
-Control the styling of file names. By default, this style's
+Control the styling of file names and URLs. By default, this style's
foreground color is green.
@item function
diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp
index 68196d6e3e2..611b8ae52ba 100644
--- a/gdb/testsuite/gdb.base/style.exp
+++ b/gdb/testsuite/gdb.base/style.exp
@@ -309,8 +309,9 @@ proc run_style_tests { } {
# Check that the version string is styled in the output of 'show
# version', and that this styling can be disabled.
set vers [style "GNU gdb.*" version]
- gdb_test "show version" "${vers}.*" \
- "version is styled in 'show version'"
+ set url [limited_style "http:.*html" file]
+ gdb_test "show version" "${vers}.*<$url>.*" \
+ "'show version' is styled"
}
}
diff --git a/gdb/top.c b/gdb/top.c
index a94ed5cebdb..3a3a697fd1c 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1443,9 +1443,11 @@ print_gdb_version (struct ui_file *stream, bool interactive)
there is no warranty. */
fprintf_filtered (stream, "\
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\
+License GPLv3+: GNU GPL version 3 or later <%ps>\
\nThis is free software: you are free to change and redistribute it.\n\
-There is NO WARRANTY, to the extent permitted by law.");
+There is NO WARRANTY, to the extent permitted by law.",
+ styled_string (file_name_style.style (),
+ "http://gnu.org/licenses/gpl.html"));
if (!interactive)
return;
@@ -1478,7 +1480,9 @@ There is NO WARRANTY, to the extent permitted by law.");
}
fprintf_filtered (stream,
_("Find the GDB manual and other documentation \
-resources online at:\n <http://www.gnu.org/software/gdb/documentation/>."));
+resources online at:\n <%ps>."),
+ styled_string (file_name_style.style (),
+ "http://www.gnu.org/software/gdb/documentation/"));
fprintf_filtered (stream, "\n\n");
fprintf_filtered (stream, _("For help, type \"help\".\n"));
fprintf_filtered (stream,
--
2.34.1
next reply other threads:[~2022-03-10 0:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-10 0:31 Tom Tromey [this message]
2022-03-10 6:38 ` Eli Zaretskii
2022-03-10 7:15 ` Aktemur, Tankut Baris
2022-03-15 21:19 ` Tom Tromey
2022-03-31 23:56 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220310003152.80655-1-tom@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).