mirror of
https://github.com/rwinkhart/go-highlite.git
synced 2026-09-05 16:37:20 -04:00
Fix region overwriting in combine line match
This commit is contained in:
@@ -7,8 +7,14 @@ import (
|
|||||||
|
|
||||||
func combineLineMatch(src, dst LineMatch) LineMatch {
|
func combineLineMatch(src, dst LineMatch) LineMatch {
|
||||||
for k, v := range src {
|
for k, v := range src {
|
||||||
|
if g, ok := dst[k]; ok {
|
||||||
|
if g == "" {
|
||||||
dst[k] = v
|
dst[k] = v
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
dst[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
return dst
|
return dst
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,9 +129,11 @@ func (h *Highlighter) highlightEmptyRegion(start int, canMatchEnd bool, lineNum
|
|||||||
matches := FindAllIndex(p.regex, line, start == 0, canMatchEnd)
|
matches := FindAllIndex(p.regex, line, start == 0, canMatchEnd)
|
||||||
for _, m := range matches {
|
for _, m := range matches {
|
||||||
highlights[start+m[0]] = p.group
|
highlights[start+m[0]] = p.group
|
||||||
|
if _, ok := highlights[start+m[1]]; !ok {
|
||||||
highlights[start+m[1]] = ""
|
highlights[start+m[1]] = ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if canMatchEnd {
|
if canMatchEnd {
|
||||||
h.states[lineNum] = nil
|
h.states[lineNum] = nil
|
||||||
|
|||||||
Reference in New Issue
Block a user