diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-11-10 19:03:07 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-11-10 19:03:07 +0800 |
commit | 65e612667dbe0c9529b9a318871f5807754be64d (patch) | |
tree | a5b2e81197e3a7e78ba2d1c411339441bf6a7c26 /server-beta/src/searcher/eachRef.lua | |
parent | d377cc10623b41f937a45c8be18a2663a42a876c (diff) | |
download | lua-language-server-65e612667dbe0c9529b9a318871f5807754be64d.zip |
优化全局变量性能
Diffstat (limited to 'server-beta/src/searcher/eachRef.lua')
-rw-r--r-- | server-beta/src/searcher/eachRef.lua | 13 |
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 |