summaryrefslogtreecommitdiff
path: root/server-beta/src/searcher/eachRef.lua
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-11-10 19:03:07 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-11-10 19:03:07 +0800
commit65e612667dbe0c9529b9a318871f5807754be64d (patch)
treea5b2e81197e3a7e78ba2d1c411339441bf6a7c26 /server-beta/src/searcher/eachRef.lua
parentd377cc10623b41f937a45c8be18a2663a42a876c (diff)
downloadlua-language-server-65e612667dbe0c9529b9a318871f5807754be64d.zip
优化全局变量性能
Diffstat (limited to 'server-beta/src/searcher/eachRef.lua')
-rw-r--r--server-beta/src/searcher/eachRef.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/server-beta/src/searcher/eachRef.lua b/server-beta/src/searcher/eachRef.lua
index e6540b7a..0cfed014 100644
--- a/server-beta/src/searcher/eachRef.lua
+++ b/server-beta/src/searcher/eachRef.lua
@@ -238,12 +238,15 @@ local function ofGlobal(source, callback)
local globals = files.getGlobals(uri)
local ast = files.getAst(uri)
if ast and globals and globals[key] then
- searcher.eachGlobal(ast.ast, function (info)
- if key == info.key then
- callback(info)
- if info.value then
- ofValue(info.value, callback)
+ searcher.eachGlobal(ast.ast, function (infos)
+ if key == infos.key then
+ for _, info in ipairs(infos) do
+ callback(info)
+ if info.value then
+ ofValue(info.value, callback)
+ end
end
+ return true
end
end)
end