]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Optimize dict lookup
authorGirish Palya <girishji@gmail.com>
Sun, 25 Jun 2023 16:26:41 +0000 (18:26 +0200)
committerGirish Palya <girishji@gmail.com>
Sun, 25 Jun 2023 16:26:41 +0000 (18:26 +0200)
Move dict lookup outside of for loop to avoid repetition.

M  autoload/lsp/completion.vim

autoload/lsp/completion.vim

index 9b2d598f512caea8a1d4cc853fabb7ea98ea8a32..7ea24166c39b083fa43a87e0abe39cd6ffa84007 100644 (file)
@@ -116,6 +116,7 @@ enddef
 def CompletionFromBuffer(items: list<dict<any>>)
   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<dict<any>>)
       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