diff --git a/common/python/nomadcore/annotator.py b/common/python/nomadcore/annotator.py index c6d9f73c11d55c44675871a428013979de0eb3b4..aba65b4dc2b8e95400a7dfd51137f044be93a9fc 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:]