summaryrefslogtreecommitdiff
path: root/script-beta/core
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2020-10-29 20:17:39 +0800
committer最萌小汐 <sumneko@hotmail.com>2020-10-29 20:17:39 +0800
commite98483d89ac38463cf5b717a3b19861baf8f3e94 (patch)
treea250d58d95a1eac28334ba40e888f08e4e47e83a /script-beta/core
parent0ad52ca53a9e9d24ee9a3451e24ce68f8bee0ff9 (diff)
downloadlua-language-server-e98483d89ac38463cf5b717a3b19861baf8f3e94.zip
整理代码
Diffstat (limited to 'script-beta/core')
-rw-r--r--script-beta/core/definition.lua9
-rw-r--r--script-beta/core/hover/table.lua7
2 files changed, 9 insertions, 7 deletions
diff --git a/script-beta/core/definition.lua b/script-beta/core/definition.lua
index 37d4e115..eb8f2715 100644
--- a/script-beta/core/definition.lua
+++ b/script-beta/core/definition.lua
@@ -125,21 +125,22 @@ return function (uri, offset)
end
vm.setSearchLevel(10)
- vm.eachDef(source, function (src)
+ for _, src in ipairs(vm.getDefs(source, 'deep')) do
local root = guide.getRoot(src)
if not root then
- return
+ goto CONTINUE
end
src = src.field or src.method or src.index or src
if src.type == 'table' and src.parent.type ~= 'return' then
- return
+ goto CONTINUE
end
results[#results+1] = {
target = src,
uri = files.getOriginUri(root.uri),
source = source,
}
- end)
+ ::CONTINUE::
+ end
if #results == 0 then
return nil
diff --git a/script-beta/core/hover/table.lua b/script-beta/core/hover/table.lua
index 314d0b42..d5761e17 100644
--- a/script-beta/core/hover/table.lua
+++ b/script-beta/core/hover/table.lua
@@ -172,10 +172,10 @@ end
return function (source)
local literals = {}
local classes = {}
- vm.eachField(source, function (src)
+ for _, src in ipairs(vm.getFields(source, 'deep')) do
local key = getKey(src)
if not key then
- return
+ goto CONTINUE
end
local class, literal = getField(src)
if not classes[key] then
@@ -186,7 +186,8 @@ return function (source)
end
classes[key][#classes[key]+1] = class
literals[key][#literals[key]+1] = literal
- end)
+ ::CONTINUE::
+ end
clearClasses(classes)