- highlights[start+loc[1]] = region.parent.group
- return combineLineMatch(highlights,
- combineLineMatch(h.highlightRegion(start, false, lineNum, line[:loc[0]], region),
- h.highlightRegion(start+loc[1], canMatchEnd, lineNum, line[loc[1]:], region.parent)))
+ if curRegion.parent == nil {
+ if !statesOnly {
+ highlights[start+loc[1]] = 0
+ h.highlightRegion(highlights, start, false, lineNum, line[:loc[0]], curRegion, statesOnly)
+ }
+ h.highlightEmptyRegion(highlights, start+loc[1], canMatchEnd, lineNum, line[loc[1]:], statesOnly)
+ return highlights
+ }
+ if !statesOnly {
+ highlights[start+loc[1]] = curRegion.parent.group
+ h.highlightRegion(highlights, start, false, lineNum, line[:loc[0]], curRegion, statesOnly)
+ }
+ h.highlightRegion(highlights, start+loc[1], canMatchEnd, lineNum, line[loc[1]:], curRegion.parent, statesOnly)
+ return highlights