From 2d6c6001b018dac0cbd8d88e7aabd0438765d2cf Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sun, 12 Feb 2017 13:44:04 -0500 Subject: [PATCH] Fix region overwriting in combine line match --- highlighter.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/highlighter.go b/highlighter.go index cca6f44..cbdd220 100644 --- a/highlighter.go +++ b/highlighter.go @@ -7,7 +7,13 @@ import ( func combineLineMatch(src, dst LineMatch) LineMatch { for k, v := range src { - dst[k] = v + if g, ok := dst[k]; ok { + if g == "" { + dst[k] = v + } + } else { + dst[k] = v + } } return dst } @@ -123,7 +129,9 @@ func (h *Highlighter) highlightEmptyRegion(start int, canMatchEnd bool, lineNum matches := FindAllIndex(p.regex, line, start == 0, canMatchEnd) for _, m := range matches { highlights[start+m[0]] = p.group - highlights[start+m[1]] = "" + if _, ok := highlights[start+m[1]]; !ok { + highlights[start+m[1]] = "" + } } }