handle out of bounds errors

This commit is contained in:
Jesse Duffield 2020-10-02 09:14:00 +10:00
parent 1b445b9bd5
commit 53875d55c3

11
view.go
View File

@ -153,10 +153,18 @@ func (v *View) gotoPreviousMatch() error {
}
func (v *View) SelectSearchResult(index int) error {
itemCount := len(v.searcher.searchPositions)
if itemCount == 0 {
return nil
}
if index > itemCount-1 {
index = itemCount - 1
}
y := v.searcher.searchPositions[index].y
v.FocusPoint(0, y)
if v.searcher.onSelectItem != nil {
return v.searcher.onSelectItem(y, index, len(v.searcher.searchPositions))
return v.searcher.onSelectItem(y, index, itemCount)
}
return nil
}
@ -183,7 +191,6 @@ func (v *View) Search(str string) error {
} else {
return v.searcher.onSelectItem(-1, -1, 0)
}
return nil
}
func (v *View) ClearSearch() {