prabirshrestha / vim-lsp

async language server protocol plugin for vim and neovim
MIT License
3.07k stars 303 forks source link

Regression: g:lsp_async_completion not effective, lsp#omni#complete is always async #1520

Open notuxic opened 7 months ago

notuxic commented 7 months ago

PR #28 introduced the option g:lsp_async_completion, which allows to run lsp#omni#complete in sync-mode, ie. have the function wait for the results and return them, instead of returning v:none and adding the results later.

This allowed the omnifunc-implementation to be used in chaining completion-managers such as mucomplete, which rely on the (existence of) results to decide if the next completion should be called.

PR #391 changed this, returning v:none in either case, and thus breaking plugins which rely on the omnifunc actually returning any results.