summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsumneko <sumneko@hotmail.com>2019-04-16 15:31:34 +0800
committersumneko <sumneko@hotmail.com>2019-04-16 15:31:34 +0800
commit4d55cca4a73e9cb3a072562ecbd89ebf6c172c0b (patch)
treee404bf7ba5d404a6a1e051dc50b63022c9e1ad48
parentf406daaa8633afb61078a060b509c32675b6f612 (diff)
downloadlua-language-server-4d55cca4a73e9cb3a072562ecbd89ebf6c172c0b.zip
支持自定义path
-rw-r--r--package.json11
-rw-r--r--server/src/config.lua24
2 files changed, 35 insertions, 0 deletions
diff --git a/package.json b/package.json
index 89e2de8e..2f23fe13 100644
--- a/package.json
+++ b/package.json
@@ -47,6 +47,17 @@
],
"description": "Lua runtime version.\nLua运行版本。"
},
+ "Lua.runtime.path": {
+ "scope": "resource",
+ "type": "array",
+ "items": "string",
+ "description": "package.path",
+ "default": [
+ "?.lua",
+ "?/init.lua",
+ "?/?.lua"
+ ]
+ },
"Lua.diagnostics.disable": {
"scope": "resource",
"type": "array",
diff --git a/server/src/config.lua b/server/src/config.lua
index c155eab2..125ac655 100644
--- a/server/src/config.lua
+++ b/server/src/config.lua
@@ -38,10 +38,34 @@ local function Str2Hash(sep)
end
end
+local function Array(checker)
+ return function (tbl)
+ if type(tbl) ~= 'table' then
+ return false
+ end
+ local t = {}
+ for _, v in ipairs(tbl) do
+ local ok, result = checker(v)
+ if ok then
+ t[#t+1] = result
+ end
+ end
+ if #t == 0 then
+ return false
+ end
+ return true, t
+ end
+end
+
local Template = {
runtime = {
version = {'Lua 5.3', String},
library = {{}, Str2Hash ';'},
+ path = {{
+ "?.lua",
+ "?/init.lua",
+ "?/?.lua"
+ }, Array(String)},
},
diagnostics = {
globals = {{}, Str2Hash ';'},