highlightOption<T> method

List<HighlightedTextSegment> highlightOption<T>(
  1. String lastQuery,
  2. dynamic item,
  3. ItemRenderer<T>? itemRenderer
)

Implementation

List<HighlightedTextSegment> highlightOption<T>(
    String lastQuery, dynamic item, ItemRenderer<T>? itemRenderer) {
  var queryHighlightCache = _highlightCache[lastQuery] ??= {};
  var value = queryHighlightCache[item];

  if (value == null) {
    String render = '';
    if (itemRenderer != null) {
      render = itemRenderer(item) ?? '';
    }
    value = (_optionHighlighter != null
        ? _optionHighlighter!(lastQuery, item)
        : _textHighlighter.highlight(
            render, lastQuery.split(_separatorRegex)));
    queryHighlightCache[item] = value;
  }
  return value;
}