code: func (l *ListBox) EnsureVisible() {
  	length := len(l.items)
  
  	if length <= l.height || l.currSelection == -1 {
  		return
  	}
  
  	diff := l.currSelection - l.topLine
  	if diff >= 0 && diff < l.height {
  		return
  	}
  
  	if diff < 0 {
  		l.topLine = l.currSelection
  	} else {
  		top := l.currSelection - l.height + 1
  		if length-top > l.height {
  			l.topLine = top
  		} else {
  			l.topLine = length - l.height
  		}
  	}
  }
docs: // EnsureVisible makes the currently selected item visible and scrolls the item list if it is required