From cb8ca86edb8778295e8df6b7ea2643c1d128a591 Mon Sep 17 00:00:00 2001
From: Henning Glawe <glaweh@debian.org>
Date: Thu, 10 Nov 2016 10:18:16 +0100
Subject: [PATCH] allow for custom highlighting via 'highlighted' minfo field

---
 common/python/nomadcore/annotator.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/common/python/nomadcore/annotator.py b/common/python/nomadcore/annotator.py
index c6d9f73..aba65b4 100644
--- a/common/python/nomadcore/annotator.py
+++ b/common/python/nomadcore/annotator.py
@@ -52,18 +52,22 @@ class Annotator(object):
             matchlabel += minfo['which_re']
         else:
             matchlabel = 'no'
-        # highlight line
-        if minfo['coverageIgnore']:
-            highlighted = self.matchHighlighter.highlight_minfo(
-                minfo, linecolor=ANSI.FG_BLUE)
-        elif minfo['match']:
-            if minfo['matcher_does_nothing']:
+
+        # check if there is pre-highlighted data in minfo
+        highlighted = minfo.get('highlighted', None)
+        if highlighted is None:
+            # highlight line
+            if minfo['coverageIgnore']:
                 highlighted = self.matchHighlighter.highlight_minfo(
-                    minfo, linecolor=ANSI.FG_MAGENTA)
+                    minfo, linecolor=ANSI.FG_BLUE)
+            elif minfo['match']:
+                if minfo['matcher_does_nothing']:
+                    highlighted = self.matchHighlighter.highlight_minfo(
+                        minfo, linecolor=ANSI.FG_MAGENTA)
+                else:
+                    highlighted = self.matchHighlighter.highlight_minfo(minfo)
             else:
-                highlighted = self.matchHighlighter.highlight_minfo(minfo)
-        else:
-            highlighted = minfo['fInLine']
+                highlighted = minfo['fInLine']
         # shorted matcher- and source file names
         name = minfo['matcherName'][-self._formatNameWidth:] if minfo['matcherName'] else 'UNNAMED'
         defFile = minfo['defFile'][-self._formatSourceWidth:]
-- 
GitLab