searchHighlight method
Implementation
void searchHighlight(String query, {MenuSearchCallback? searchCallback}) {
if (query.isEmpty) {
value = value.copyWith(clearHighlight: true);
_overlay?.markNeedsBuild();
return;
}
int? index;
if (searchCallback != null) {
index = searchCallback(value.filteredItems, query);
} else {
final q = query.toLowerCase();
index = value.filteredItems.indexWhere(
(e) => e.label.toLowerCase().contains(q),
);
if (index == -1) index = null;
}
if (index != null) {
value = value.copyWith(highlightedIndex: index);
} else {
value = value.copyWith(clearHighlight: true);
}
_overlay?.markNeedsBuild();
}