summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/config.lua27
-rw-r--r--server/test/build_package.lua4
2 files changed, 24 insertions, 7 deletions
diff --git a/server/src/config.lua b/server/src/config.lua
index 176e3ce9..7ee2c959 100644
--- a/server/src/config.lua
+++ b/server/src/config.lua
@@ -79,6 +79,19 @@ local function Hash(keyChecker, valueChecker)
end
end
+local function Or(...)
+ local checkers = {...}
+ return function (obj)
+ for _, checker in ipairs(checkers) do
+ local suc, res = checker(obj)
+ if suc then
+ return true, res
+ end
+ end
+ return false
+ end
+end
+
local ConfigTemplate = {
runtime = {
version = {'Lua 5.3', String},
@@ -98,11 +111,15 @@ local ConfigTemplate = {
},
},
workspace = {
- ignoreDir = {{}, Str2Hash ';'},
- ignoreSubmodules= {true, Boolean},
- useGitIgnore = {true, Boolean},
- maxPreload = {300, Integer},
- preloadFileSize = {100, Integer},
+ ignoreDir = {{}, Str2Hash ';'},
+ ignoreSubmodules= {true, Boolean},
+ useGitIgnore = {true, Boolean},
+ maxPreload = {300, Integer},
+ preloadFileSize = {100, Integer},
+ library = {{}, Hash(
+ String,
+ Or(Boolean, Array(String))
+ )}
}
}
diff --git a/server/test/build_package.lua b/server/test/build_package.lua
index 052ac006..0b5a59bc 100644
--- a/server/test/build_package.lua
+++ b/server/test/build_package.lua
@@ -179,7 +179,7 @@ io.save(ROOT:parent_path() / 'package.nls.json', json.encode {
["config.workspace.preloadFileSize"] = "Skip files larger than this value (KB) when preloading.",
["config.workspace.library"] = [[
加载的外部函数库。
-下面这个例子表示加载`C:/lua`中的所有文件,以及加载`../lib`中的`.txt`与`.lua`文件,但不加载`../lib/temp`中的`.txt`文件。加载的文件最终会受设置中文件关联的影响,因此需要设置`.txt`文件关联`lua`后`*.txt`才有意义。
+下面这个例子表示加载`C:/lua`中的所有文件,以及加载`../lib`中的`.txt`与`.lua`文件,但不加载`../lib/temp`中的`.txt`文件。加载的文件最终会受文件关联的影响,因此需要设置`.txt`文件关联`lua`后`*.txt`才有意义。
]] .. libraryExample,
})
@@ -196,6 +196,6 @@ io.save(ROOT:parent_path() / 'package.nls.zh-cn.json', json.encode {
["config.workspace.preloadFileSize"] = "预加载时跳过大小大于该值(KB)的文件。",
["config.workspace.library"] = [[
加载的外部函数库。
-下面这个例子表示加载`C:/lua`中的所有文件,以及加载`../lib`中的`.txt`与`.lua`文件,但不加载`../lib/temp`中的`.txt`文件。加载的文件最终会受设置中文件关联的影响,因此需要设置`.txt`文件关联`lua`后`*.txt`才有意义。
+下面这个例子表示加载`C:/lua`中的所有文件,以及加载`../lib`中的`.txt`与`.lua`文件,但不加载`../lib/temp`中的`.txt`文件。加载的文件最终会受文件关联的影响,因此需要设置`.txt`文件关联`lua`后`*.txt`才有意义。
]] .. libraryExample,
})