I prepared a patch which provides the API `completion-filter-completions`. This function supports deferred highlighting and returns additional data with the list of matching completion candidates. The API supersedes the existing function `completion-all-completions`. The main goal of the new API is to avoid expensive string allocations and highlighting during completion. This is particularly relevant for continuously updating completion UIs like Icomplete or Vertico. Furthermore the end position of the completion boundaries is returned with the completion results. This information is not provided by the existing `completion-all-completions` API. See also the relevant bugs bug#47711 and bug#48841. I am looking forward to your feedback. Thank you! Daniel Mendler