|
|
@ -1048,14 +1048,17 @@ func (t *TextView) Draw(screen tcell.Screen) {
|
|
|
|
// Scroll to highlighted regions.
|
|
|
|
// Scroll to highlighted regions.
|
|
|
|
if t.regionTags && t.scrollToHighlights {
|
|
|
|
if t.regionTags && t.scrollToHighlights {
|
|
|
|
// Make sure we know all highlighted regions.
|
|
|
|
// Make sure we know all highlighted regions.
|
|
|
|
|
|
|
|
knownHighlights := make(map[string]struct{})
|
|
|
|
t.parseAhead(width, func(lineNumber int, line *textViewLine) bool {
|
|
|
|
t.parseAhead(width, func(lineNumber int, line *textViewLine) bool {
|
|
|
|
for regionID := range t.highlights {
|
|
|
|
for regionID := range t.highlights {
|
|
|
|
if _, ok := t.regions[regionID]; !ok {
|
|
|
|
if _, ok := t.regions[regionID]; !ok {
|
|
|
|
return false
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
knownHighlights[regionID] = struct{}{}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
t.highlights = knownHighlights
|
|
|
|
|
|
|
|
|
|
|
|
// What is the line range for all highlighted regions?
|
|
|
|
// What is the line range for all highlighted regions?
|
|
|
|
var (
|
|
|
|
var (
|
|
|
|