aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli/cli-style.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2020-01-03 13:59:27 -0700
committerTom Tromey <tromey@adacore.com>2020-01-21 12:39:17 -0700
commitf6474de9aacec990d44d2d65a337668b389efd99 (patch)
tree4d70c7c91fba9b49b5b0c62baa7759b6e1d5b13e /gdb/cli/cli-style.c
parentb4654b109bd023d0a22f445db7d4e27f769593f4 (diff)
downloadgdb-f6474de9aacec990d44d2d65a337668b389efd99.zip
gdb-f6474de9aacec990d44d2d65a337668b389efd99.tar.gz
gdb-f6474de9aacec990d44d2d65a337668b389efd99.tar.bz2
Allow use of Pygments to colorize source code
While GNU Source Highlight is good, it's also difficult to build and distribute. For one thing, it needs Boost. For another, it has an unusual configuration and installation setup. Pygments, a Python library, doesn't suffer from these issues, and so I thought it would be a reasonable fallback. This patch implements this idea. GNU Source Highlight is preferred, but if it is unavailable (or fails), the extension languages are tried. This patch also implements support for Pygments. Something similar could be done for Guile, using: https://dthompson.us/projects/guile-syntax-highlight.html However, I don't know enough about Guile internals to make this happen, so I have not done it here. gdb/ChangeLog 2020-01-21 Tom Tromey <tromey@adacore.com> * source-cache.c (source_cache::ensure): Call ext_lang_colorize. * python/python.c (python_extension_ops): Update. (gdbpy_colorize): New function. * python/lib/gdb/__init__.py (colorize): New function. * extension.h (ext_lang_colorize): Declare. * extension.c (ext_lang_colorize): New function. * extension-priv.h (struct extension_language_ops) <colorize>: New member. * cli/cli-style.c (_initialize_cli_style): Update help text. Change-Id: I5e21623ee05f1f66baaa6deaeca78b578c031bf4
Diffstat (limited to 'gdb/cli/cli-style.c')
-rw-r--r--gdb/cli/cli-style.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/cli/cli-style.c b/gdb/cli/cli-style.c
index 917a7f6..d2d9928 100644
--- a/gdb/cli/cli-style.c
+++ b/gdb/cli/cli-style.c
@@ -341,8 +341,9 @@ If enabled, source code is styled.\n"
"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."
+"Source highlighting may be disabled in this installation of gdb, because\n\
+it was not linked against GNU Source Highlight. However, it might still be\n\
+available if the appropriate extension is available at runtime."
#endif
), set_style_enabled, show_style_sources,
&style_set_list, &style_show_list);