Add an objfile getter to gdb.Type
[deliverable/binutils-gdb.git] / gdb / utils.c
index 968692747359af1da30d487ef3e0fdfd3a00d3f9..f55661287eb5d1b7c40e1019c58637151577868c 100644 (file)
@@ -1869,6 +1869,42 @@ fputs_styled (const char *linebuffer, const ui_file_style &style,
     }
 }
 
+/* See utils.h.  */
+
+void
+fputs_highlighted (const char *str, const compiled_regex &highlight,
+                  struct ui_file *stream)
+{
+  regmatch_t pmatch;
+
+  while (*str && highlight.exec (str, 1, &pmatch, 0) == 0)
+    {
+      size_t n_highlight = pmatch.rm_eo - pmatch.rm_so;
+
+      /* Output the part before pmatch with current style.  */
+      while (pmatch.rm_so > 0)
+       {
+         fputc_filtered (*str, stream);
+         pmatch.rm_so--;
+         str++;
+       }
+
+      /* Output pmatch with the highlight style.  */
+      set_output_style (stream, highlight_style.style ());
+      while (n_highlight > 0)
+       {
+         fputc_filtered (*str, stream);
+         n_highlight--;
+         str++;
+       }
+      set_output_style (stream, ui_file_style ());
+    }
+
+  /* Output the trailing part of STR not matching HIGHLIGHT.  */
+  if (*str)
+    fputs_filtered (str, stream);
+}
+
 int
 putchar_unfiltered (int c)
 {
This page took 0.026263 seconds and 4 git commands to generate.