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