From: Girish Palya Date: Sun, 25 Jun 2023 16:26:41 +0000 (+0200) Subject: Optimize dict lookup X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=cdac498bebf51a4ff4c6b44ffcf9cbcc554bcdc3;p=vim-lsp.git Optimize dict lookup Move dict lookup outside of for loop to avoid repetition. M autoload/lsp/completion.vim --- diff --git a/autoload/lsp/completion.vim b/autoload/lsp/completion.vim index 9b2d598..7ea2416 100644 --- a/autoload/lsp/completion.vim +++ b/autoload/lsp/completion.vim @@ -116,6 +116,7 @@ enddef def CompletionFromBuffer(items: list>) var words = {} var start = reltime() + var timeout = opt.lspOptions.bufferCompletionTimeout var linenr = 1 for line in getline(1, '$') for word in line->split('\W\+') @@ -132,8 +133,7 @@ def CompletionFromBuffer(items: list>) endif endfor # Check every 200 lines if timeout is exceeded - if opt.lspOptions.bufferCompletionTimeout > 0 && linenr % 200 == 0 && - start->reltime()->reltimefloat() * 1000 > opt.lspOptions.bufferCompletionTimeout + if timeout > 0 && linenr % 200 == 0 && start->reltime()->reltimefloat() * 1000 > timeout break endif linenr += 1