summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2020-11-16 14:07:10 +0800
committer最萌小汐 <sumneko@hotmail.com>2020-11-16 14:07:10 +0800
commit7e97893e92f694b65f58630cba04d0732ca75e23 (patch)
treeea0cf3856fa419ad28f7fbb555d449aed41a248a
parent8c464f8fa237d85d2c99c7b36d8a62d9bcecda81 (diff)
downloadlua-language-server-7e97893e92f694b65f58630cba04d0732ca75e23.zip
整理代码
-rw-r--r--script-beta/core/completion.lua10
-rw-r--r--script-beta/core/definition.lua10
-rw-r--r--script-beta/core/hover/description.lua10
-rw-r--r--script-beta/vm/getLibrary.lua8
4 files changed, 23 insertions, 15 deletions
diff --git a/script-beta/core/completion.lua b/script-beta/core/completion.lua
index d2f53d8f..1939025d 100644
--- a/script-beta/core/completion.lua
+++ b/script-beta/core/completion.lua
@@ -670,11 +670,11 @@ local function checkUri(ast, text, offset, results)
local call = callargs.parent
local func = call.node
local literal = guide.getLiteral(source)
- local lib = vm.getLibrary(func)
- if not lib then
+ local libName = vm.getLibraryName(func)
+ if not libName then
return
end
- if lib.name == 'require' then
+ if libName == 'require' then
for uri in files.eachFile() do
uri = files.getOriginUri(uri)
if files.eq(myUri, uri) then
@@ -701,8 +701,8 @@ local function checkUri(ast, text, offset, results)
end
::CONTINUE::
end
- elseif lib.name == 'dofile'
- or lib.name == 'loadfile' then
+ elseif libName == 'dofile'
+ or libName == 'loadfile' then
for uri in files.eachFile() do
uri = files.getOriginUri(uri)
if files.eq(myUri, uri) then
diff --git a/script-beta/core/definition.lua b/script-beta/core/definition.lua
index 63af4034..19bab22d 100644
--- a/script-beta/core/definition.lua
+++ b/script-beta/core/definition.lua
@@ -64,14 +64,14 @@ local function checkRequire(source, offset)
local call = callargs.parent
local func = call.node
local literal = guide.getLiteral(source)
- local lib = vm.getLibrary(func)
- if not lib then
+ local libName = vm.getLibraryName(func)
+ if not libName then
return nil
end
- if lib.name == 'require' then
+ if libName == 'require' then
return workspace.findUrisByRequirePath(literal)
- elseif lib.name == 'dofile'
- or lib.name == 'loadfile' then
+ elseif libName == 'dofile'
+ or libName == 'loadfile' then
return workspace.findUrisByFilePath(literal)
end
return nil
diff --git a/script-beta/core/hover/description.lua b/script-beta/core/hover/description.lua
index 8192beec..badeade7 100644
--- a/script-beta/core/hover/description.lua
+++ b/script-beta/core/hover/description.lua
@@ -15,14 +15,14 @@ local function asStringInRequire(source, literal)
local result, searchers
local call = parent.parent
local func = call.node
- local lib = vm.getLibrary(func)
- if not lib then
+ local libName = vm.getLibraryName(func)
+ if not libName then
return
end
- if lib.name == 'require' then
+ if libName == 'require' then
result, searchers = ws.findUrisByRequirePath(literal)
- elseif lib.name == 'dofile'
- or lib.name == 'loadfile' then
+ elseif libName == 'dofile'
+ or libName == 'loadfile' then
result = ws.findUrisByFilePath(literal)
end
if result and #result > 0 then
diff --git a/script-beta/vm/getLibrary.lua b/script-beta/vm/getLibrary.lua
index 36d53c84..86f1ae58 100644
--- a/script-beta/vm/getLibrary.lua
+++ b/script-beta/vm/getLibrary.lua
@@ -55,6 +55,14 @@ function vm.getLibrary(source, deep)
end
end
+function vm.getLibraryName(source, deep)
+ local lib = vm.getLibrary(source, deep)
+ if lib then
+ return lib.name
+ end
+ return nil
+end
+
local globalLibraryNames = {
'arg', 'assert', 'collectgarbage', 'dofile', '_G', 'getfenv',
'getmetatable', 'ipairs', 'load', 'loadfile', 'loadstring',