In LspOmniFunc() when cItems is empty (when findstart=1) it does not
set the key 'completeItemsIsIncomplete' in the lspserver dictionary.
When LspOmniFunc is called again with findstart=0, it fails.
line 46:
E716: Key not present in Dictionary: "completeItemsIsIncomplete"
This affects rust, nix, and other lsp servers:
https://github.com/girishji/vimcomplete/issues/14
M autoload/lsp/completion.vim
# process the 'textDocument/completion' reply from the LSP server
# Result: CompletionItem[] | CompletionList | null
export def CompletionReply(lspserver: dict<any>, cItems: any)
+ lspserver.completeItemsIsIncomplete = false
if cItems->empty()
if lspserver.omniCompletePending
lspserver.completeItems = []
return
endif
- lspserver.completeItemsIsIncomplete = false
-
var items: list<dict<any>>
if cItems->type() == v:t_list
items = cItems
# omni complete handler
def g:LspOmniFunc(findstart: number, base: string): any
+
var lspserver: dict<any> = buf.CurbufGetServerChecked('completion')
if lspserver->empty()
return -2