dotfiles from arch
This commit is contained in:
@@ -0,0 +1,743 @@
|
||||
---@diagnostic disable: undefined-global, lowercase-global
|
||||
|
||||
arg =
|
||||
'独立版Lua的启动参数。'
|
||||
|
||||
assert =
|
||||
'如果其参数 `v` 的值为假(`nil` 或 `false`), 它就调用 $error; 否则,返回所有的参数。 在错误情况时, `message` 指那个错误对象; 如果不提供这个参数,参数默认为 `"assertion failed!"` 。'
|
||||
|
||||
cgopt.collect =
|
||||
'做一次完整的垃圾收集循环。'
|
||||
cgopt.stop =
|
||||
'停止垃圾收集器的运行。'
|
||||
cgopt.restart =
|
||||
'重启垃圾收集器的自动运行。'
|
||||
cgopt.count =
|
||||
'以 K 字节数为单位返回 Lua 使用的总内存数。'
|
||||
cgopt.step =
|
||||
'单步运行垃圾收集器。 步长“大小”由 `arg` 控制。'
|
||||
cgopt.setpause =
|
||||
'将 `arg` 设为收集器的 *间歇率* 。'
|
||||
cgopt.setstepmul =
|
||||
'将 `arg` 设为收集器的 *步进倍率* 。'
|
||||
cgopt.incremental =
|
||||
'改变收集器模式为增量模式。'
|
||||
cgopt.generational =
|
||||
'改变收集器模式为分代模式。'
|
||||
cgopt.isrunning =
|
||||
'返回表示收集器是否在工作的布尔值。'
|
||||
|
||||
collectgarbage =
|
||||
'这个函数是垃圾收集器的通用接口。 通过参数 opt 它提供了一组不同的功能。'
|
||||
|
||||
dofile =
|
||||
'打开该名字的文件,并执行文件中的 Lua 代码块。 不带参数调用时, `dofile` 执行标准输入的内容(`stdin`)。 返回该代码块的所有返回值。 对于有错误的情况,`dofile` 将错误反馈给调用者 (即,`dofile` 没有运行在保护模式下)。'
|
||||
|
||||
error =
|
||||
[[
|
||||
中止上一次保护函数调用, 将错误对象 `message` 返回。 函数 `error` 永远不会返回。
|
||||
|
||||
当 `message` 是一个字符串时,通常 `error` 会把一些有关出错位置的信息附加在消息的前头。 level 参数指明了怎样获得出错位置。
|
||||
]]
|
||||
|
||||
_G =
|
||||
'一个全局变量(非函数), 内部储存有全局环境(参见 §2.2)。 Lua 自己不使用这个变量; 改变这个变量的值不会对任何环境造成影响,反之亦然。'
|
||||
|
||||
getfenv =
|
||||
'返回给定函数的环境。`f` 可以是一个Lua函数,也可是一个表示调用栈层级的数字。'
|
||||
|
||||
getmetatable =
|
||||
'如果 `object` 不包含元表,返回 `nil` 。 否则,如果在该对象的元表中有 `"__metatable"` 域时返回其关联值, 没有时返回该对象的元表。'
|
||||
|
||||
ipairs =
|
||||
[[
|
||||
返回三个值(迭代函数、表 `t` 以及 `0` ), 如此,以下代码
|
||||
```lua
|
||||
for i,v in ipairs(t) do body end
|
||||
```
|
||||
将迭代键值对 `(1,t[1]) ,(2,t[2]), ...` ,直到第一个空值。
|
||||
]]
|
||||
|
||||
loadmode.b =
|
||||
'只能是二进制代码块。'
|
||||
loadmode.t =
|
||||
'只能是文本代码块。'
|
||||
loadmode.bt =
|
||||
'可以是二进制也可以是文本。'
|
||||
|
||||
load['<5.1'] =
|
||||
'使用 `func` 分段加载代码块。 每次调用 `func` 必须返回一个字符串用于连接前文。'
|
||||
load['>5.2'] =
|
||||
[[
|
||||
加载一个代码块。
|
||||
|
||||
如果 `chunk` 是一个字符串,代码块指这个字符串。 如果 `chunk` 是一个函数, `load` 不断地调用它获取代码块的片断。 每次对 `chunk` 的调用都必须返回一个字符串紧紧连接在上次调用的返回串之后。 当返回空串、`nil`、或是不返回值时,都表示代码块结束。
|
||||
]]
|
||||
|
||||
loadfile =
|
||||
'从文件 `filename` 或标准输入(如果文件名未提供)中获取代码块。'
|
||||
|
||||
loadstring =
|
||||
'使用给定字符串加载代码块。'
|
||||
|
||||
module =
|
||||
'创建一个模块。'
|
||||
|
||||
next =
|
||||
[[
|
||||
运行程序来遍历表中的所有域。 第一个参数是要遍历的表,第二个参数是表中的某个键。 `next` 返回该键的下一个键及其关联的值。 如果用 `nil` 作为第二个参数调用 `next` 将返回初始键及其关联值。 当以最后一个键去调用,或是以 `nil` 调用一张空表时, `next` 返回 `nil`。 如果不提供第二个参数,将认为它就是 `nil`。 特别指出,你可以用 `next(t)` 来判断一张表是否是空的。
|
||||
|
||||
索引在遍历过程中的次序无定义, 即使是数字索引也是这样。 (如果想按数字次序遍历表,可以使用数字形式的 `for` 。)
|
||||
|
||||
当在遍历过程中你给表中并不存在的域赋值, `next` 的行为是未定义的。 然而你可以去修改那些已存在的域。 特别指出,你可以清除一些已存在的域。
|
||||
]]
|
||||
|
||||
pairs =
|
||||
[[
|
||||
如果 `t` 有元方法 `__pairs`, 以 `t` 为参数调用它,并返回其返回的前三个值。
|
||||
|
||||
否则,返回三个值:`next` 函数, 表 `t`,以及 `nil`。 因此以下代码
|
||||
```lua
|
||||
for k,v in pairs(t) do body end
|
||||
```
|
||||
能迭代表 `t` 中的所有键值对。
|
||||
|
||||
参见函数 $next 中关于迭代过程中修改表的风险。
|
||||
]]
|
||||
|
||||
pcall =
|
||||
'传入参数,以 *保护模式* 调用函数 `f` 。 这意味着 `f` 中的任何错误不会抛出; 取而代之的是,`pcall` 会将错误捕获到,并返回一个状态码。 第一个返回值是状态码(一个布尔量), 当没有错误时,其为真。 此时,`pcall` 同样会在状态码后返回所有调用的结果。 在有错误时,`pcall` 返回 `false` 加错误消息。'
|
||||
|
||||
print =
|
||||
'接收任意数量的参数,并将它们的值打印到 `stdout`。 它用 `tostring` 函数将每个参数都转换为字符串。 `print` 不用于做格式化输出。仅作为看一下某个值的快捷方式。 多用于调试。 完整的对输出的控制,请使用 $string.format 以及 $io.write。'
|
||||
|
||||
rawequal =
|
||||
'在不触发任何元方法的情况下 检查 `v1` 是否和 `v2` 相等。 返回一个布尔量。'
|
||||
|
||||
rawget =
|
||||
'在不触发任何元方法的情况下 获取 `table[index]` 的值。 `table` 必须是一张表; `index` 可以是任何值。'
|
||||
|
||||
rawlen =
|
||||
'在不触发任何元方法的情况下 返回对象 `v` 的长度。 `v` 可以是表或字符串。 它返回一个整数。'
|
||||
|
||||
rawset =
|
||||
[[
|
||||
在不触发任何元方法的情况下 将 `table[index]` 设为 `value。` `table` 必须是一张表, `index` 可以是 `nil` 与 `NaN` 之外的任何值。 `value` 可以是任何 Lua 值。
|
||||
这个函数返回 `table`。
|
||||
]]
|
||||
|
||||
select =
|
||||
'如果 `index` 是个数字, 那么返回参数中第 `index` 个之后的部分; 负的数字会从后向前索引(`-1` 指最后一个参数)。 否则,`index` 必须是字符串 `"#"`, 此时 `select` 返回参数的个数。'
|
||||
|
||||
setfenv =
|
||||
'设置给定函数的环境。'
|
||||
|
||||
setmetatable =
|
||||
[[
|
||||
给指定表设置元表。 (你不能在 Lua 中改变其它类型值的元表,那些只能在 C 里做。) 如果 `metatable` 是 `nil`, 将指定表的元表移除。 如果原来那张元表有 `"__metatable"` 域,抛出一个错误。
|
||||
]]
|
||||
|
||||
tonumber =
|
||||
[[
|
||||
如果调用的时候没有 `base`, `tonumber` 尝试把参数转换为一个数字。 如果参数已经是一个数字,或是一个可以转换为数字的字符串, `tonumber` 就返回这个数字; 否则返回 `nil`。
|
||||
|
||||
字符串的转换结果可能是整数也可能是浮点数, 这取决于 Lua 的转换文法(参见 §3.1)。 (字符串可以有前置和后置的空格,可以带符号。)
|
||||
]]
|
||||
|
||||
tostring =
|
||||
[[
|
||||
可以接收任何类型,它将其转换为人可阅读的字符串形式。 浮点数总被转换为浮点数的表现形式(小数点形式或是指数形式)。 (如果想完全控制数字如何被转换,可以使用 $string.format。)
|
||||
如果 `v` 有 `"__tostring"` 域的元表, `tostring` 会以 `v` 为参数调用它。 并用它的结果作为返回值。
|
||||
]]
|
||||
|
||||
type =
|
||||
[[
|
||||
将参数的类型编码为一个字符串返回。 函数可能的返回值有 `"nil"` (一个字符串,而不是 `nil` 值), `"number"`, `"string"`, `"boolean"`, `"table"`, `"function"`, `"thread"`, `"userdata"`。
|
||||
]]
|
||||
|
||||
_VERSION =
|
||||
'一个包含有当前解释器版本号的全局变量(并非函数)。'
|
||||
|
||||
warn =
|
||||
'使用所有参数组成的字符串消息来发送警告。'
|
||||
|
||||
xpcall['=5.1'] =
|
||||
'传入参数,以 *保护模式* 调用函数 `f` 。这个函数和 `pcall` 类似。 不过它可以额外设置一个消息处理器 `err`。'
|
||||
xpcall['>5.2'] =
|
||||
'传入参数,以 *保护模式* 调用函数 `f` 。这个函数和 `pcall` 类似。 不过它可以额外设置一个消息处理器 `msgh`。'
|
||||
|
||||
unpack =
|
||||
[[
|
||||
返回给定 `list` 中的所有元素。 改函数等价于
|
||||
```lua
|
||||
return list[i], list[i+1], ···, list[j]
|
||||
```
|
||||
]]
|
||||
|
||||
bit32 =
|
||||
''
|
||||
bit32.arshift =
|
||||
[[
|
||||
返回 `x` 向右位移 `disp` 位的结果。`disp` 为负时向左位移。这是算数位移操作,左侧的空位使用 `x` 的高位填充,右侧空位使用 `0` 填充。
|
||||
]]
|
||||
bit32.band =
|
||||
'返回参数按位与的结果。'
|
||||
bit32.bnot =
|
||||
[[
|
||||
返回 `x` 按位取反的结果。
|
||||
|
||||
```lua
|
||||
assert(bit32.bnot(x) ==
|
||||
(-1 - x) % 2^32)
|
||||
```
|
||||
]]
|
||||
bit32.bor =
|
||||
'返回参数按位或的结果。'
|
||||
bit32.btest =
|
||||
'参数按位与的结果不为0时,返回 `true` 。'
|
||||
bit32.bxor =
|
||||
'返回参数按位异或的结果。'
|
||||
bit32.extract =
|
||||
'返回 `n` 中第 `field` 到第 `field + width - 1` 位组成的结果。'
|
||||
bit32.replace =
|
||||
'返回 `v` 的第 `field` 到第 `field + width - 1` 位替换 `n` 的对应位后的结果。'
|
||||
bit32.lrotate =
|
||||
'返回 `x` 向左旋转 `disp` 位的结果。`disp` 为负时向右旋转。'
|
||||
bit32.lshift =
|
||||
[[
|
||||
返回 `x` 向左位移 `disp` 位的结果。`disp` 为负时向右位移。空位总是使用 `0` 填充。
|
||||
|
||||
```lua
|
||||
assert(bit32.lshift(b, disp) ==
|
||||
(b * 2^disp) % 2^32)
|
||||
```
|
||||
]]
|
||||
bit32.rrotate =
|
||||
'返回 `x` 向右旋转 `disp` 位的结果。`disp` 为负时向左旋转。'
|
||||
bit32.rshift =
|
||||
[[
|
||||
返回 `x` 向右位移 `disp` 位的结果。`disp` 为负时向左位移。空位总是使用 `0` 填充。
|
||||
|
||||
```lua
|
||||
assert(bit32.lshift(b, disp) ==
|
||||
(b * 2^disp) % 2^32)
|
||||
```
|
||||
]]
|
||||
|
||||
coroutine =
|
||||
''
|
||||
coroutine.create =
|
||||
'创建一个主体函数为 `f` 的新协程。 f 必须是一个 Lua 的函数。 返回这个新协程,它是一个类型为 `"thread"` 的对象。'
|
||||
coroutine.isyieldable =
|
||||
'如果正在运行的协程可以让出,则返回真。'
|
||||
coroutine.isyieldable['>5.4'] =
|
||||
'如果协程 `co` 可以让出,则返回真。`co` 默认为正在运行的协程。'
|
||||
coroutine.close =
|
||||
'关闭协程 `co`,并关闭它所有等待 *to-be-closed* 的变量,并将协程状态设为 `dead` 。'
|
||||
coroutine.resume =
|
||||
'开始或继续协程 `co` 的运行。'
|
||||
coroutine.running =
|
||||
'返回当前正在运行的协程加一个布尔量。 如果当前运行的协程是主线程,其为真。'
|
||||
coroutine.status =
|
||||
'以字符串形式返回协程 `co` 的状态。'
|
||||
coroutine.wrap =
|
||||
'创建一个主体函数为 `f` 的新协程。 f 必须是一个 Lua 的函数。 返回一个函数, 每次调用该函数都会延续该协程。'
|
||||
coroutine.yield =
|
||||
'挂起正在调用的协程的执行。'
|
||||
|
||||
costatus.running =
|
||||
'正在运行。'
|
||||
costatus.suspended =
|
||||
'挂起或是还没有开始运行。'
|
||||
costatus.normal =
|
||||
'是活动的,但并不在运行。'
|
||||
costatus.dead =
|
||||
'运行完主体函数或因错误停止。'
|
||||
|
||||
debug =
|
||||
''
|
||||
debug.debug =
|
||||
'进入一个用户交互模式,运行用户输入的每个字符串。'
|
||||
debug.getfenv =
|
||||
'返回对象 `o` 的环境。'
|
||||
debug.gethook =
|
||||
'返回三个表示线程钩子设置的值: 当前钩子函数,当前钩子掩码,当前钩子计数 。'
|
||||
debug.getinfo =
|
||||
'返回关于一个函数信息的表。'
|
||||
debug.getlocal['<5.1'] =
|
||||
'返回在栈的 `level` 层处函数的索引为 `index` 的局部变量的名字和值。'
|
||||
debug.getlocal['>5.2'] =
|
||||
'返回在栈的 `f` 层处函数的索引为 `index` 的局部变量的名字和值。'
|
||||
debug.getmetatable =
|
||||
'返回给定 `value` 的元表。'
|
||||
debug.getregistry =
|
||||
'返回注册表。'
|
||||
debug.getupvalue =
|
||||
'返回函数 `f` 的第 `up` 个上值的名字和值。'
|
||||
debug.getuservalue['<5.3']=
|
||||
'返回关联在 `u` 上的 `Lua` 值。'
|
||||
debug.getuservalue['>5.4']=
|
||||
'返回关联在 `u` 上的第 `n` 个 `Lua` 值,以及一个布尔,`false`表示值不存在。'
|
||||
debug.setcstacklimit =
|
||||
[[
|
||||
### **已在 `Lua 5.4.2` 中废弃**
|
||||
|
||||
设置新的C栈限制。该限制控制Lua中嵌套调用的深度,以避免堆栈溢出。
|
||||
|
||||
如果设置成功,该函数返回之前的限制;否则返回`false`。
|
||||
]]
|
||||
debug.setfenv =
|
||||
'将 `table` 设置为 `object` 的环境。'
|
||||
debug.sethook =
|
||||
'将一个函数作为钩子函数设入。'
|
||||
debug.setlocal =
|
||||
'将 `value` 赋给 栈上第 `level` 层函数的第 `local` 个局部变量。'
|
||||
debug.setmetatable =
|
||||
'将 `value` 的元表设为 `table` (可以是 `nil`)。'
|
||||
debug.setupvalue =
|
||||
'将 `value` 设为函数 `f` 的第 `up` 个上值。'
|
||||
debug.setuservalue['<5.3']=
|
||||
'将 `value` 设为 `udata` 的关联值。'
|
||||
debug.setuservalue['>5.4']=
|
||||
'将 `value` 设为 `udata` 的第 `n` 个关联值。'
|
||||
debug.traceback =
|
||||
'返回调用栈的栈回溯信息。 字符串可选项 `message` 被添加在栈回溯信息的开头。'
|
||||
debug.upvalueid =
|
||||
'返回指定函数第 `n` 个上值的唯一标识符(一个轻量用户数据)。'
|
||||
debug.upvaluejoin =
|
||||
'让 Lua 闭包 `f1` 的第 `n1` 个上值 引用 `Lua` 闭包 `f2` 的第 `n2` 个上值。'
|
||||
|
||||
infowhat.n =
|
||||
'`name` 和 `namewhat`'
|
||||
infowhat.S =
|
||||
'`source`,`short_src`,`linedefined`,`lalinedefined`,和 `what`'
|
||||
infowhat.l =
|
||||
'`currentline`'
|
||||
infowhat.t =
|
||||
'`istailcall`'
|
||||
infowhat.u['<5.1'] =
|
||||
'`nups`'
|
||||
infowhat.u['>5.2'] =
|
||||
'`nups`、`nparams` 和 `isvararg`'
|
||||
infowhat.f =
|
||||
'`func`'
|
||||
infowhat.r =
|
||||
'`ftransfer` 和 `ntransfer`'
|
||||
infowhat.L =
|
||||
'`activelines`'
|
||||
|
||||
hookmask.c =
|
||||
'每当 Lua 调用一个函数时,调用钩子。'
|
||||
hookmask.r =
|
||||
'每当 Lua 从一个函数内返回时,调用钩子。'
|
||||
hookmask.l =
|
||||
'每当 Lua 进入新的一行时,调用钩子。'
|
||||
|
||||
file =
|
||||
''
|
||||
file[':close'] =
|
||||
'关闭 `file`。'
|
||||
file[':flush'] =
|
||||
'将写入的数据保存到 `file` 中。'
|
||||
file[':lines'] =
|
||||
[[
|
||||
------
|
||||
```lua
|
||||
for c in file:lines(...) do
|
||||
body
|
||||
end
|
||||
```
|
||||
]]
|
||||
file[':read'] =
|
||||
'读文件 `file`, 指定的格式决定了要读什么。'
|
||||
file[':seek'] =
|
||||
'设置及获取基于文件开头处计算出的位置。'
|
||||
file[':setvbuf'] =
|
||||
'设置输出文件的缓冲模式。'
|
||||
file[':write'] =
|
||||
'将参数的值逐个写入 `file`。'
|
||||
|
||||
readmode.n =
|
||||
'读取一个数字,根据 Lua 的转换文法返回浮点数或整数。'
|
||||
readmode.a =
|
||||
'从当前位置开始读取整个文件。'
|
||||
readmode.l =
|
||||
'读取一行并忽略行结束标记。'
|
||||
readmode.L =
|
||||
'读取一行并保留行结束标记。'
|
||||
|
||||
seekwhence.set =
|
||||
'基点为 0 (文件开头)。'
|
||||
seekwhence.cur =
|
||||
'基点为当前位置。'
|
||||
seekwhence['.end'] =
|
||||
'基点为文件尾。'
|
||||
|
||||
vbuf.no =
|
||||
'不缓冲;输出操作立刻生效。'
|
||||
vbuf.full =
|
||||
'完全缓冲;只有在缓存满或调用 flush 时才做输出操作。'
|
||||
vbuf.line =
|
||||
'行缓冲;输出将缓冲到每次换行前。'
|
||||
|
||||
io =
|
||||
''
|
||||
io.stdin =
|
||||
'标准输入。'
|
||||
io.stdout =
|
||||
'标准输出。'
|
||||
io.stderr =
|
||||
'标准错误。'
|
||||
io.close =
|
||||
'关闭 `file` 或默认输出文件。'
|
||||
io.flush =
|
||||
'将写入的数据保存到默认输出文件中。'
|
||||
io.input =
|
||||
'设置 `file` 为默认输入文件。'
|
||||
io.lines =
|
||||
[[
|
||||
------
|
||||
```lua
|
||||
for c in io.lines(filename, ...) do
|
||||
body
|
||||
end
|
||||
```
|
||||
]]
|
||||
io.open =
|
||||
'用字符串 `mode` 指定的模式打开一个文件。'
|
||||
io.output =
|
||||
'设置 `file` 为默认输出文件。'
|
||||
io.popen =
|
||||
'用一个分离进程开启程序 `prog` 。'
|
||||
io.read =
|
||||
'读文件 `file`, 指定的格式决定了要读什么。'
|
||||
io.tmpfile =
|
||||
'如果成功,返回一个临时文件的句柄。'
|
||||
io.type =
|
||||
'检查 `obj` 是否是合法的文件句柄。'
|
||||
io.write =
|
||||
'将参数的值逐个写入默认输出文件。'
|
||||
|
||||
openmode.r =
|
||||
'读模式。'
|
||||
openmode.w =
|
||||
'写模式。'
|
||||
openmode.a =
|
||||
'追加模式。'
|
||||
openmode['.r+'] =
|
||||
'更新模式,所有之前的数据都保留。'
|
||||
openmode['.w+'] =
|
||||
'更新模式,所有之前的数据都删除。'
|
||||
openmode['.a+'] =
|
||||
'追加更新模式,所有之前的数据都保留,只允许在文件尾部做写入。'
|
||||
openmode.rb =
|
||||
'读模式。(二进制方式)'
|
||||
openmode.wb =
|
||||
'写模式。(二进制方式)'
|
||||
openmode.ab =
|
||||
'追加模式。(二进制方式)'
|
||||
openmode['.r+b'] =
|
||||
'更新模式,所有之前的数据都保留。(二进制方式)'
|
||||
openmode['.w+b'] =
|
||||
'更新模式,所有之前的数据都删除。(二进制方式)'
|
||||
openmode['.a+b'] =
|
||||
'追加更新模式,所有之前的数据都保留,只允许在文件尾部做写入。(二进制方式)'
|
||||
|
||||
popenmode.r =
|
||||
'从这个程序中读取数据。(二进制方式)'
|
||||
popenmode.w =
|
||||
'向这个程序写入输入。(二进制方式)'
|
||||
|
||||
filetype.file =
|
||||
'是一个打开的文件句柄。'
|
||||
filetype['.closed file'] =
|
||||
'是一个关闭的文件句柄。'
|
||||
filetype['.nil'] =
|
||||
'不是文件句柄。'
|
||||
|
||||
math =
|
||||
''
|
||||
math.abs =
|
||||
'返回 `x` 的绝对值。'
|
||||
math.acos =
|
||||
'返回 `x` 的反余弦值(用弧度表示)。'
|
||||
math.asin =
|
||||
'返回 `x` 的反正弦值(用弧度表示)。'
|
||||
math.atan['<5.2'] =
|
||||
'返回 `x` 的反正切值(用弧度表示)。'
|
||||
math.atan['>5.3'] =
|
||||
'返回 `y/x` 的反正切值(用弧度表示)。'
|
||||
math.atan2 =
|
||||
'返回 `y/x` 的反正切值(用弧度表示)。'
|
||||
math.ceil =
|
||||
'返回不小于 `x` 的最小整数值。'
|
||||
math.cos =
|
||||
'返回 `x` 的余弦(假定参数是弧度)。'
|
||||
math.cosh =
|
||||
'返回 `x` 的双曲余弦(假定参数是弧度)。'
|
||||
math.deg =
|
||||
'将角 `x` 从弧度转换为角度。'
|
||||
math.exp =
|
||||
'返回 `e^x` 的值 (e 为自然对数的底)。'
|
||||
math.floor =
|
||||
'返回不大于 `x` 的最大整数值。'
|
||||
math.fmod =
|
||||
'返回 `x` 除以 `y`,将商向零圆整后的余数。'
|
||||
math.frexp =
|
||||
'将 `x` 分解为尾数与指数,返回值符合 `x = m * (2 ^ e)` 。`e` 是一个整数,`m` 是 [0.5, 1) 之间的规格化小数 (`x` 为0时 `m` 为0)。'
|
||||
math.huge =
|
||||
'一个比任何数字值都大的浮点数。'
|
||||
math.ldexp =
|
||||
'返回 `m * (2 ^ e)` 。'
|
||||
math.log['<5.1'] =
|
||||
'返回 `x` 的自然对数。'
|
||||
math.log['>5.2'] =
|
||||
'回以指定底的 `x` 的对数。'
|
||||
math.log10 =
|
||||
'返回 `x` 的以10为底的对数。'
|
||||
math.max =
|
||||
'返回参数中最大的值, 大小由 Lua 操作 `<` 决定。'
|
||||
math.maxinteger['>5.3'] =
|
||||
'最大值的整数。'
|
||||
math.min =
|
||||
'返回参数中最小的值, 大小由 Lua 操作 `<` 决定。'
|
||||
math.mininteger['>5.3'] =
|
||||
'最小值的整数。'
|
||||
math.modf =
|
||||
'返回 `x` 的整数部分和小数部分。'
|
||||
math.pi =
|
||||
'*π* 的值。'
|
||||
math.pow =
|
||||
'返回 `x ^ y` 。'
|
||||
math.rad =
|
||||
'将角 `x` 从角度转换为弧度。'
|
||||
math.random =
|
||||
[[
|
||||
* `math.random()`: 返回 [0,1) 区间内一致分布的浮点伪随机数。
|
||||
* `math.random(n)`: 返回 [1, n] 区间内一致分布的整数伪随机数。
|
||||
* `math.random(m, n)`: 返回 [m, n] 区间内一致分布的整数伪随机数。
|
||||
]]
|
||||
math.randomseed['<5.3'] =
|
||||
'把 `x` 设为伪随机数发生器的“种子”: 相同的种子产生相同的随机数列。'
|
||||
math.randomseed['>5.4'] =
|
||||
[[
|
||||
* `math.randomseed(x, y)`: 将 `x` 与 `y` 连接为128位的种子来重新初始化伪随机生成器。
|
||||
* `math.randomseed(x)`: 等同于 `math.randomseed(x, 0)` 。
|
||||
* `math.randomseed()`: Generates a seed with a weak attempt for randomness.(不会翻)
|
||||
]]
|
||||
math.sin =
|
||||
'返回 `x` 的正弦值(假定参数是弧度)。'
|
||||
math.sinh =
|
||||
'返回 `x` 的双曲正弦值(假定参数是弧度)。'
|
||||
math.sqrt =
|
||||
'返回 `x` 的平方根。'
|
||||
math.tan =
|
||||
'返回 `x` 的正切值(假定参数是弧度)。'
|
||||
math.tanh =
|
||||
'返回 `x` 的双曲正切值(假定参数是弧度)。'
|
||||
math.tointeger['>5.3'] =
|
||||
'如果 `x` 可以转换为一个整数, 返回该整数。'
|
||||
math.type['>5.3'] =
|
||||
'如果 `x` 是整数,返回 `"integer"`, 如果它是浮点数,返回 `"float"`, 如果 `x` 不是数字,返回 `nil`。'
|
||||
math.ult['>5.3'] =
|
||||
'如果整数 `m` 和 `n` 以无符号整数形式比较, `m` 在 `n` 之下,返回布尔真否则返回假。'
|
||||
|
||||
os =
|
||||
''
|
||||
os.clock =
|
||||
'返回程序使用的按秒计 CPU 时间的近似值。'
|
||||
os.date =
|
||||
'返回一个包含日期及时刻的字符串或表。 格式化方法取决于所给字符串 `format`。'
|
||||
os.difftime =
|
||||
'返回以秒计算的时刻 `t1` 到 `t2` 的差值。'
|
||||
os.execute =
|
||||
'调用系统解释器执行 `command`。'
|
||||
os.exit['<5.1'] =
|
||||
'调用 C 函数 `exit` 终止宿主程序。'
|
||||
os.exit['>5.2'] =
|
||||
'调用 ISO C 函数 `exit` 终止宿主程序。'
|
||||
os.getenv =
|
||||
'返回进程环境变量 `varname` 的值。'
|
||||
os.remove =
|
||||
'删除指定名字的文件。'
|
||||
os.rename =
|
||||
'将名字为 `oldname` 的文件或目录更名为 `newname`。'
|
||||
os.setlocale =
|
||||
'设置程序的当前区域。'
|
||||
os.time =
|
||||
'当不传参数时,返回当前时刻。 如果传入一张表,就返回由这张表表示的时刻。'
|
||||
os.tmpname =
|
||||
'返回一个可用于临时文件的文件名字符串。'
|
||||
|
||||
osdate.year =
|
||||
'四位数字'
|
||||
osdate.month =
|
||||
'1-12'
|
||||
osdate.day =
|
||||
'1-31'
|
||||
osdate.hour =
|
||||
'0-23'
|
||||
osdate.min =
|
||||
'0-59'
|
||||
osdate.sec =
|
||||
'0-61'
|
||||
osdate.wday =
|
||||
'星期几,1-7,星期天为 1'
|
||||
osdate.yday =
|
||||
'当年的第几天,1-366'
|
||||
osdate.isdst =
|
||||
'夏令时标记,一个布尔量'
|
||||
|
||||
package =
|
||||
''
|
||||
|
||||
require['<5.3'] =
|
||||
'加载一个模块,返回该模块的返回值(`nil`时为`true`)。'
|
||||
require['>5.4'] =
|
||||
'加载一个模块,返回该模块的返回值(`nil`时为`true`)与搜索器返回的加载数据。默认搜索器的加载数据指示了加载位置,对于文件来说就是文件路径。'
|
||||
|
||||
package.config =
|
||||
'一个描述有一些为包管理准备的编译期配置信息的串。'
|
||||
package.cpath =
|
||||
'这个路径被 `require` 在 C 加载器中做搜索时用到。'
|
||||
package.loaded =
|
||||
'用于 `require` 控制哪些模块已经被加载的表。'
|
||||
package.loaders =
|
||||
'用于 `require` 控制如何加载模块的表。'
|
||||
package.loadlib =
|
||||
'让宿主程序动态链接 C 库 `libname` 。'
|
||||
package.path =
|
||||
'这个路径被 `require` 在 Lua 加载器中做搜索时用到。'
|
||||
package.preload =
|
||||
'保存有一些特殊模块的加载器。'
|
||||
package.searchers =
|
||||
'用于 `require` 控制如何加载模块的表。'
|
||||
package.searchpath =
|
||||
'在指定 `path` 中搜索指定的 `name` 。'
|
||||
package.seeall =
|
||||
'给 `module` 设置一个元表,该元表的 `__index` 域为全局环境,这样模块便会继承全局环境的值。可作为 `module` 函数的选项。'
|
||||
|
||||
string =
|
||||
''
|
||||
string.byte =
|
||||
'返回字符 `s[i]`, `s[i+1]`, ... ,`s[j]` 的内部数字编码。'
|
||||
string.char =
|
||||
'接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值。'
|
||||
string.dump =
|
||||
'返回包含有以二进制方式表示的(一个 *二进制代码块* )指定函数的字符串。'
|
||||
string.find =
|
||||
'查找第一个字符串中匹配到的 `pattern`(参见 §6.4.1)。'
|
||||
string.format =
|
||||
'返回不定数量参数的格式化版本,格式化串为第一个参数。'
|
||||
string.gmatch =
|
||||
[[
|
||||
返回一个迭代器函数。 每次调用这个函数都会继续以 `pattern` (参见 §6.4.1) 对 s 做匹配,并返回所有捕获到的值。
|
||||
|
||||
下面这个例子会循环迭代字符串 s 中所有的单词, 并逐行打印:
|
||||
```lua
|
||||
s =
|
||||
"hello world from Lua"
|
||||
for w in string.gmatch(s, "%a+") do
|
||||
print(w)
|
||||
end
|
||||
```
|
||||
]]
|
||||
string.gsub =
|
||||
'将字符串 s 中,所有的(或是在 n 给出时的前 n 个) pattern (参见 §6.4.1)都替换成 repl ,并返回其副本。'
|
||||
string.len =
|
||||
'返回其长度。'
|
||||
string.lower =
|
||||
'将其中的大写字符都转为小写后返回其副本。'
|
||||
string.match =
|
||||
'在字符串 s 中找到第一个能用 pattern (参见 §6.4.1)匹配到的部分。 如果能找到,match 返回其中的捕获物; 否则返回 nil 。'
|
||||
string.pack =
|
||||
'返回一个打包了(即以二进制形式序列化) v1, v2 等值的二进制字符串。 字符串 fmt 为打包格式(参见 §6.4.2)。'
|
||||
string.packsize =
|
||||
[[返回以指定格式用 $string.pack 打包的字符串的长度。 格式化字符串中不可以有变长选项 's' 或 'z' (参见 §6.4.2)。]]
|
||||
string.rep['>5.2'] =
|
||||
'返回 `n` 个字符串 `s` 以字符串 `sep` 为分割符连在一起的字符串。 默认的 `sep` 值为空字符串(即没有分割符)。 如果 `n` 不是正数则返回空串。'
|
||||
string.rep['<5.1'] =
|
||||
'返回 `n` 个字符串 `s` 连在一起的字符串。 如果 `n` 不是正数则返回空串。'
|
||||
string.reverse =
|
||||
'返回字符串 s 的翻转串。'
|
||||
string.sub =
|
||||
'返回字符串的子串, 该子串从 `i` 开始到 `j` 为止。'
|
||||
string.unpack =
|
||||
'返回以格式 fmt (参见 §6.4.2) 打包在字符串 s (参见 string.pack) 中的值。'
|
||||
string.upper =
|
||||
'接收一个字符串,将其中的小写字符都转为大写后返回其副本。'
|
||||
|
||||
table =
|
||||
''
|
||||
table.concat =
|
||||
'提供一个列表,其所有元素都是字符串或数字,返回字符串 `list[i]..sep..list[i+1] ··· sep..list[j]`。'
|
||||
table.insert =
|
||||
'在 `list` 的位置 `pos` 处插入元素 `value`。'
|
||||
table.maxn =
|
||||
'返回给定表的最大正数索引,如果表没有正数索引,则返回零。'
|
||||
table.move =
|
||||
[[
|
||||
将元素从表 `a1` 移到表 `a2`。
|
||||
```lua
|
||||
a2[t],··· =
|
||||
a1[f],···,a1[e]
|
||||
return a2
|
||||
```
|
||||
]]
|
||||
table.pack =
|
||||
'返回用所有参数以键 `1`,`2`, 等填充的新表, 并将 `"n"` 这个域设为参数的总数。'
|
||||
table.remove =
|
||||
'移除 `list` 中 `pos` 位置上的元素,并返回这个被移除的值。'
|
||||
table.sort =
|
||||
'在表内从 `list[1]` 到 `list[#list]` *原地* 对其间元素按指定次序排序。'
|
||||
table.unpack =
|
||||
[[
|
||||
返回列表中的元素。 这个函数等价于
|
||||
```lua
|
||||
return list[i], list[i+1], ···, list[j]
|
||||
```
|
||||
i 默认为 1 ,j 默认为 #list。
|
||||
]]
|
||||
table.foreach =
|
||||
'遍历表中的每一个元素,并以key和value执行回调函数。如果回调函数返回一个非nil值则循环终止,并且返回这个值。该函数等同pair(list),比pair(list)更慢。不推荐使用'
|
||||
table.foreachi =
|
||||
'遍历数组中的每一个元素,并以索引号index和value执行回调函数。如果回调函数返回一个非nil值则循环终止,并且返回这个值。该函数等同ipair(list),比ipair(list)更慢。不推荐使用'
|
||||
table.getn =
|
||||
'返回表的长度。该函数等价于#list。'
|
||||
table.new =
|
||||
[[创建一个有初始容量的表,就像 C API 等价于 `lua_createtable()`。对于数据量庞大的表,如果最终的容量是已知的,这将十分有用,因为动态对表进行扩容是十分昂贵的。`narray` 参数指定类数组成员的数量,`nhash` 参数指定类哈希成员的数量。在使用前需要先引入。
|
||||
|
||||
```lua
|
||||
require("table.new")
|
||||
```
|
||||
]]
|
||||
table.clear =
|
||||
[[清除表中所有的键值对,但是保留已经分配的数组或哈希的大小。当需要清除从多个位置链接的表和/或回收表供同一上下文使用时,这将十分有用。这避免了管理反向链接,节省了分配和增量数组或哈希部分增长的开销。在使用前需要先引入。
|
||||
```lua
|
||||
require("table.clear").
|
||||
```
|
||||
请注意,此功能用于非常特殊的情况。在大多数情况下,最好用新表替换(通常是单个)链接,GC 完成回收工作。
|
||||
]]
|
||||
|
||||
utf8 =
|
||||
''
|
||||
utf8.char =
|
||||
'接收零或多个整数, 将每个整数转换成对应的 UTF-8 字节序列,并返回这些序列连接到一起的字符串。'
|
||||
utf8.charpattern =
|
||||
'用于精确匹配到一个 UTF-8 字节序列的模式,它假定处理的对象是一个合法的 UTF-8 字符串。'
|
||||
utf8.codes =
|
||||
[[
|
||||
返回一系列的值,可以让
|
||||
```lua
|
||||
for p, c in utf8.codes(s) do
|
||||
body
|
||||
end
|
||||
```
|
||||
迭代出字符串 s 中所有的字符。 这里的 p 是位置(按字节数)而 c 是每个字符的编号。 如果处理到一个不合法的字节序列,将抛出一个错误。
|
||||
]]
|
||||
utf8.codepoint =
|
||||
'以整数形式返回 `s` 中 从位置 `i` 到 `j` 间(包括两端) 所有字符的编号。'
|
||||
utf8.len =
|
||||
'返回字符串 `s` 中 从位置 `i` 到 `j` 间 (包括两端) UTF-8 字符的个数。'
|
||||
utf8.offset =
|
||||
'返回编码在 `s` 中的第 `n` 个字符的开始位置(按字节数) (从位置 `i` 处开始统计)。'
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,463 @@
|
||||
---@diagnostic disable: undefined-global
|
||||
|
||||
config.addonManager.enable =
|
||||
"是否启用扩展的附加插件管理器(Addon Manager)"
|
||||
config.addonManager.repositoryBranch =
|
||||
"指定插件管理器(Addon Manager)使用的git仓库分支"
|
||||
config.addonManager.repositoryPath =
|
||||
"指定插件管理器(Addon Manager)使用的git仓库路径"
|
||||
config.runtime.version =
|
||||
"Lua运行版本。"
|
||||
config.runtime.path =
|
||||
[[
|
||||
当使用 `require` 时,如何根据输入的名字来查找文件。
|
||||
此选项设置为 `?/init.lua` 意味着当你输入 `require 'myfile'` 时,会从已加载的文件中搜索 `{workspace}/myfile/init.lua`。
|
||||
当 `runtime.pathStrict` 设置为 `false` 时,还会尝试搜索 `${workspace}/**/myfile/init.lua`。
|
||||
如果你想要加载工作区以外的文件,你需要先设置 `Lua.workspace.library`。
|
||||
]]
|
||||
config.runtime.pathStrict =
|
||||
'启用后 `runtime.path` 将只搜索第一层目录,见 `runtime.path` 的说明。'
|
||||
config.runtime.special =
|
||||
[[将自定义全局变量视为一些特殊的内置变量,语言服务将提供特殊的支持。
|
||||
下面这个例子表示将 `include` 视为 `require` 。
|
||||
```json
|
||||
"Lua.runtime.special" : {
|
||||
"include" : "require"
|
||||
}
|
||||
```
|
||||
]]
|
||||
config.runtime.unicodeName =
|
||||
"允许在名字中使用 Unicode 字符。"
|
||||
config.runtime.nonstandardSymbol =
|
||||
"支持非标准的符号。请务必确认你的运行环境支持这些符号。"
|
||||
config.runtime.plugin =
|
||||
"插件路径,请查阅[文档](https://luals.github.io/wiki/plugins)了解用法。"
|
||||
config.runtime.pluginArgs =
|
||||
"插件的额外参数。"
|
||||
config.runtime.fileEncoding =
|
||||
"文件编码,`ansi` 选项只在 `Windows` 平台下有效。"
|
||||
config.runtime.builtin =
|
||||
[[
|
||||
调整内置库的启用状态,你可以根据实际运行环境禁用掉不存在的库(或重新定义)。
|
||||
|
||||
* `default`: 表示库会根据运行版本启用或禁用
|
||||
* `enable`: 总是启用
|
||||
* `disable`: 总是禁用
|
||||
]]
|
||||
config.runtime.meta =
|
||||
'meta文件的目录名称格式。'
|
||||
config.diagnostics.enable =
|
||||
"启用诊断。"
|
||||
config.diagnostics.disable =
|
||||
"禁用的诊断(使用浮框括号内的代码)。"
|
||||
config.diagnostics.globals =
|
||||
"已定义的全局变量。"
|
||||
config.diagnostics.globalsRegex =
|
||||
"启用诊断以检测尝试关闭非对象的变量。"
|
||||
config.diagnostics.severity =
|
||||
[[
|
||||
修改诊断等级。
|
||||
以 `!` 结尾的设置优先级高于组设置 `diagnostics.groupSeverity`。
|
||||
]]
|
||||
config.diagnostics.neededFileStatus =
|
||||
[[
|
||||
* Opened: 只诊断打开的文件
|
||||
* Any: 诊断任何文件
|
||||
* None: 禁用此诊断
|
||||
|
||||
以 `!` 结尾的设置优先级高于组设置 `diagnostics.groupFileStatus`。
|
||||
]]
|
||||
config.diagnostics.groupSeverity =
|
||||
[[
|
||||
批量修改一个组中的诊断等级。
|
||||
设置为 `Fallback` 意味着组中的诊断由 `diagnostics.severity` 单独设置。
|
||||
其他设置将覆盖单独设置,但是不会覆盖以 `!` 结尾的设置。
|
||||
]]
|
||||
config.diagnostics.groupFileStatus =
|
||||
[[
|
||||
批量修改一个组中的文件状态。
|
||||
|
||||
* Opened: 只诊断打开的文件
|
||||
* Any: 诊断任何文件
|
||||
* None: 禁用此诊断
|
||||
|
||||
设置为 `Fallback` 意味着组中的诊断由 `diagnostics.neededFileStatus` 单独设置。
|
||||
其他设置将覆盖单独设置,但是不会覆盖以 `!` 结尾的设置。
|
||||
]]
|
||||
config.diagnostics.workspaceEvent =
|
||||
"设置触发工作区诊断的时机。"
|
||||
config.diagnostics.workspaceEvent.OnChange =
|
||||
"当文件发生变化时触发工作区诊断。"
|
||||
config.diagnostics.workspaceEvent.OnSave =
|
||||
"当文件保存时触发工作区诊断。"
|
||||
config.diagnostics.workspaceEvent.None =
|
||||
"关闭工作区诊断。"
|
||||
config.diagnostics.workspaceDelay =
|
||||
"进行工作区诊断的延迟(毫秒)。"
|
||||
config.diagnostics.workspaceRate =
|
||||
"工作区诊断的运行速率(百分比)。降低该值会减少CPU占用,但是也会降低工作区诊断的速度。你当前正在编辑的文件的诊断总是全速完成,不受该选项影响。"
|
||||
config.diagnostics.libraryFiles =
|
||||
"如何诊断通过 `Lua.workspace.library` 加载的文件。"
|
||||
config.diagnostics.libraryFiles.Enable =
|
||||
"总是诊断这些文件。"
|
||||
config.diagnostics.libraryFiles.Opened =
|
||||
"只有打开这些文件时才会诊断。"
|
||||
config.diagnostics.libraryFiles.Disable =
|
||||
"不诊断这些文件。"
|
||||
config.diagnostics.ignoredFiles =
|
||||
"如何诊断被忽略的文件。"
|
||||
config.diagnostics.ignoredFiles.Enable =
|
||||
"总是诊断这些文件。"
|
||||
config.diagnostics.ignoredFiles.Opened =
|
||||
"只有打开这些文件时才会诊断。"
|
||||
config.diagnostics.ignoredFiles.Disable =
|
||||
"不诊断这些文件。"
|
||||
config.diagnostics.disableScheme =
|
||||
'不诊断使用以下 scheme 的lua文件。'
|
||||
config.diagnostics.unusedLocalExclude =
|
||||
'如果变量名匹配以下规则,则不对其进行 `unused-local` 诊断。'
|
||||
config.workspace.ignoreDir =
|
||||
"忽略的文件与目录(使用 `.gitignore` 语法)。"
|
||||
config.workspace.ignoreSubmodules =
|
||||
"忽略子模块。"
|
||||
config.workspace.useGitIgnore =
|
||||
"忽略 `.gitignore` 中列举的文件。"
|
||||
config.workspace.maxPreload =
|
||||
"最大预加载文件数。"
|
||||
config.workspace.preloadFileSize =
|
||||
"预加载时跳过大小大于该值(KB)的文件。"
|
||||
config.workspace.library =
|
||||
"除了当前工作区以外,还会从哪些目录中加载文件。这些目录中的文件将被视作外部提供的代码库,部分操作(如重命名字段)不会修改这些文件。"
|
||||
config.workspace.checkThirdParty =
|
||||
[[
|
||||
自动检测与适配第三方库,目前支持的库为:
|
||||
|
||||
* OpenResty
|
||||
* Cocos4.0
|
||||
* LÖVE
|
||||
* LÖVR
|
||||
* skynet
|
||||
* Jass
|
||||
]]
|
||||
config.workspace.userThirdParty =
|
||||
'在这里添加私有的第三方库适配文件路径,请参考内置的[配置文件路径](https://github.com/LuaLS/lua-language-server/tree/master/meta/3rd)'
|
||||
config.workspace.supportScheme =
|
||||
'为以下 scheme 的lua文件提供语言服务。'
|
||||
config.completion.enable =
|
||||
'启用自动完成。'
|
||||
config.completion.callSnippet =
|
||||
'显示函数调用片段。'
|
||||
config.completion.callSnippet.Disable =
|
||||
"只显示 `函数名`。"
|
||||
config.completion.callSnippet.Both =
|
||||
"显示 `函数名` 与 `调用片段`。"
|
||||
config.completion.callSnippet.Replace =
|
||||
"只显示 `调用片段`。"
|
||||
config.completion.keywordSnippet =
|
||||
'显示关键字语法片段'
|
||||
config.completion.keywordSnippet.Disable =
|
||||
"只显示 `关键字`。"
|
||||
config.completion.keywordSnippet.Both =
|
||||
"显示 `关键字` 与 `语法片段`。"
|
||||
config.completion.keywordSnippet.Replace =
|
||||
"只显示 `语法片段`。"
|
||||
config.completion.displayContext =
|
||||
"预览建议的相关代码片段,可能可以帮助你了解这项建议的用法。设置的数字表示代码片段的截取行数,设置为`0`可以禁用此功能。"
|
||||
config.completion.workspaceWord =
|
||||
"显示的上下文单词是否包含工作区中其他文件的内容。"
|
||||
config.completion.showWord =
|
||||
"在建议中显示上下文单词。"
|
||||
config.completion.showWord.Enable =
|
||||
"总是在建议中显示上下文单词。"
|
||||
config.completion.showWord.Fallback =
|
||||
"无法根据语义提供建议时才显示上下文单词。"
|
||||
config.completion.showWord.Disable =
|
||||
"不显示上下文单词。"
|
||||
config.completion.autoRequire =
|
||||
"输入内容看起来是个文件名时,自动 `require` 此文件。"
|
||||
config.completion.showParams =
|
||||
"在建议列表中显示函数的参数信息,函数拥有多个定义时会分开显示。"
|
||||
config.completion.requireSeparator =
|
||||
"`require` 时使用的分隔符。"
|
||||
config.completion.postfix =
|
||||
"用于触发后缀建议的符号。"
|
||||
config.color.mode =
|
||||
"着色模式。"
|
||||
config.color.mode.Semantic =
|
||||
"语义着色。你可能需要同时将 `editor.semanticHighlighting.enabled` 设置为 `true` 才能生效。"
|
||||
config.color.mode.SemanticEnhanced =
|
||||
"增强的语义颜色。 类似于`Semantic`,但会进行额外的分析(也会带来额外的开销)。"
|
||||
config.color.mode.Grammar =
|
||||
"语法着色。"
|
||||
config.semantic.enable =
|
||||
"启用语义着色。你可能需要同时将 `editor.semanticHighlighting.enabled` 设置为 `true` 才能生效。"
|
||||
config.semantic.variable =
|
||||
"对变量/字段/参数进行语义着色。"
|
||||
config.semantic.annotation =
|
||||
"对类型注解进行语义着色。"
|
||||
config.semantic.keyword =
|
||||
"对关键字/字面量/运算符进行语义着色。只有当你的编辑器无法进行语法着色时才需要启用此功能。"
|
||||
config.signatureHelp.enable =
|
||||
"启用参数提示。"
|
||||
config.hover.enable =
|
||||
"启用悬停提示。"
|
||||
config.hover.viewString =
|
||||
"悬停提示查看字符串内容(仅当字面量包含转义符时)。"
|
||||
config.hover.viewStringMax =
|
||||
"悬停提示查看字符串内容时的最大长度。"
|
||||
config.hover.viewNumber =
|
||||
"悬停提示查看数字内容(仅当字面量不是十进制时)。"
|
||||
config.hover.fieldInfer =
|
||||
"悬停提示查看表时,会对表的每个字段进行类型推测,当类型推测的用时累计达到该设定值(毫秒)时,将跳过后续字段的类型推测。"
|
||||
config.hover.previewFields =
|
||||
"悬停提示查看表时,限制表内字段的最大预览数量。"
|
||||
config.hover.enumsLimit =
|
||||
"当值对应多个类型时,限制类型的显示数量。"
|
||||
config.hover.expandAlias =
|
||||
[[
|
||||
是否展开别名。例如 `---@alias myType boolean|number` 展开后显示为 `boolean|number`,否则显示为 `myType`。
|
||||
]]
|
||||
config.develop.enable =
|
||||
'开发者模式。请勿开启,会影响性能。'
|
||||
config.develop.debuggerPort =
|
||||
'调试器监听端口。'
|
||||
config.develop.debuggerWait =
|
||||
'调试器连接之前挂起。'
|
||||
config.intelliSense.searchDepth =
|
||||
'设置智能感知的搜索深度。增大该值可以增加准确度,但会降低性能。不同的项目对该设置的容忍度差异较大,请自己调整为合适的值。'
|
||||
config.intelliSense.fastGlobal =
|
||||
'在对全局变量进行补全,及查看 `_G` 的悬浮提示时进行优化。这会略微降低类型推测的准确度,但是对于大量使用全局变量的项目会有大幅的性能提升。'
|
||||
config.window.statusBar =
|
||||
'在状态栏显示插件状态。'
|
||||
config.window.progressBar =
|
||||
'在状态栏显示进度条。'
|
||||
config.hint.enable =
|
||||
'启用内联提示。'
|
||||
config.hint.paramType =
|
||||
'在函数的参数位置提示类型。'
|
||||
config.hint.setType =
|
||||
'在赋值操作位置提示类型。'
|
||||
config.hint.paramName =
|
||||
'在函数调用处提示参数名。'
|
||||
config.hint.paramName.All =
|
||||
'所有类型的参数均进行提示。'
|
||||
config.hint.paramName.Literal =
|
||||
'只有字面量类型的参数进行提示。'
|
||||
config.hint.paramName.Disable =
|
||||
'禁用参数提示。'
|
||||
config.hint.arrayIndex =
|
||||
'在构造表时提示数组索引。'
|
||||
config.hint.arrayIndex.Enable =
|
||||
'所有的表中都提示数组索引。'
|
||||
config.hint.arrayIndex.Auto =
|
||||
'只有表大于3项,或者表是混合类型时才进行提示。'
|
||||
config.hint.arrayIndex.Disable =
|
||||
'禁用数组索引提示。'
|
||||
config.hint.await =
|
||||
'如果调用的函数被标记为了 `---@async` ,则在调用处提示 `await` 。'
|
||||
config.hint.awaitPropagate =
|
||||
'启用 `await` 的传播, 当一个函数调用了一个`---@async`标记的函数时,会自动标记为`---@async`。'
|
||||
config.hint.semicolon =
|
||||
'若语句尾部没有分号,则显示虚拟分号。'
|
||||
config.hint.semicolon.All =
|
||||
'所有语句都显示虚拟分号。'
|
||||
config.hint.semicolon.SameLine =
|
||||
'2个语句在同一行时,在它们之间显示分号。'
|
||||
config.hint.semicolon.Disable =
|
||||
'禁用虚拟分号。'
|
||||
config.codeLens.enable =
|
||||
'启用代码度量。'
|
||||
config.format.enable =
|
||||
'启用代码格式化程序。'
|
||||
config.format.defaultConfig =
|
||||
[[
|
||||
默认的格式化配置,优先级低于工作区内的 `.editorconfig` 文件。
|
||||
请查阅[格式化文档](https://github.com/CppCXY/EmmyLuaCodeStyle/tree/master/docs)了解用法。
|
||||
]]
|
||||
config.spell.dict =
|
||||
'拼写检查的自定义单词。'
|
||||
config.nameStyle.config =
|
||||
'设定命名风格检查的配置'
|
||||
config.telemetry.enable =
|
||||
[[
|
||||
启用遥测,通过网络发送你的编辑器信息与错误日志。在[此处](https://luals.github.io/privacy/#language-server)阅读我们的隐私声明。
|
||||
]]
|
||||
config.misc.parameters =
|
||||
'VSCode中启动语言服务时的[命令行参数](https://luals.github.io/wiki/usage#arguments)。'
|
||||
config.misc.executablePath =
|
||||
'VSCode中指定可执行文件路径。'
|
||||
config.language.fixIndent =
|
||||
'(仅VSCode) 修复错误的自动缩进,例如在包含单词 "function" 的字符串中换行时出现的错误缩进。'
|
||||
config.language.completeAnnotation =
|
||||
'(仅VSCode) 在注解后换行时自动插入 "---@ "。'
|
||||
config.type.castNumberToInteger =
|
||||
'允许将 `number` 类型赋给 `integer` 类型。'
|
||||
config.type.weakUnionCheck =
|
||||
[[
|
||||
联合类型中只要有一个子类型满足条件,则联合类型也满足条件。
|
||||
|
||||
此设置为 `false` 时,`number|boolean` 类型无法赋给 `number` 类型;为 `true` 时则可以。
|
||||
]]
|
||||
config.type.weakNilCheck =
|
||||
[[
|
||||
对联合类型进行类型检查时,忽略其中的 `nil`。
|
||||
|
||||
此设置为 `false` 时,`numer|nil` 类型无法赋给 `number` 类型;为 `true` 是则可以。
|
||||
]]
|
||||
config.type.inferParamType =
|
||||
[[
|
||||
未注释参数类型时,参数类型由函数传入参数推断。
|
||||
|
||||
如果设置为 "false",则在未注释时,参数类型为 "any"。
|
||||
]]
|
||||
config.type.checkTableShape =
|
||||
[[
|
||||
对表的形状进行严格检查。
|
||||
]]
|
||||
config.doc.privateName =
|
||||
'将特定名称的字段视为私有,例如 `m_*` 意味着 `XXX.m_id` 与 `XXX.m_type` 是私有字段,只能在定义所在的类中访问。'
|
||||
config.doc.protectedName =
|
||||
'将特定名称的字段视为受保护,例如 `m_*` 意味着 `XXX.m_id` 与 `XXX.m_type` 是受保护的字段,只能在定义所在的类极其子类中访问。'
|
||||
config.doc.packageName =
|
||||
'将特定名称的字段视为package,例如 `m_*` 意味着 `XXX.m_id` 与 `XXX.m_type` 只能在定义所在的文件中访问。'
|
||||
config.diagnostics['unused-local'] =
|
||||
'未使用的局部变量'
|
||||
config.diagnostics['unused-function'] =
|
||||
'未使用的函数'
|
||||
config.diagnostics['undefined-global'] =
|
||||
'未定义的全局变量'
|
||||
config.diagnostics['global-in-nil-env'] =
|
||||
'不能使用全局变量( `_ENV` 被设置为了 `nil`)'
|
||||
config.diagnostics['unused-label'] =
|
||||
'未使用的标签'
|
||||
config.diagnostics['unused-vararg'] =
|
||||
'未使用的不定参数'
|
||||
config.diagnostics['trailing-space'] =
|
||||
'后置空格'
|
||||
config.diagnostics['redefined-local'] =
|
||||
'重复定义的局部变量'
|
||||
config.diagnostics['newline-call'] =
|
||||
'以 `(` 开始的新行,在语法上被解析为了上一行的函数调用'
|
||||
config.diagnostics['newfield-call'] =
|
||||
'在字面量表中,2行代码之间缺少分隔符,在语法上被解析为了一次索引操作'
|
||||
config.diagnostics['redundant-parameter'] =
|
||||
'函数调用时,传入了多余的参数'
|
||||
config.diagnostics['ambiguity-1'] =
|
||||
'优先级歧义,如:`num or 0 + 1`,推测用户的实际期望为 `(num or 0) + 1` '
|
||||
config.diagnostics['lowercase-global'] =
|
||||
'首字母小写的全局变量定义'
|
||||
config.diagnostics['undefined-env-child'] =
|
||||
'`_ENV` 被设置为了新的字面量表,但是试图获取的全局变量不再这张表中'
|
||||
config.diagnostics['duplicate-index'] =
|
||||
'在字面量表中重复定义了索引'
|
||||
config.diagnostics['empty-block'] =
|
||||
'空代码块'
|
||||
config.diagnostics['redundant-value'] =
|
||||
'赋值操作时,值的数量比被赋值的对象多'
|
||||
config.diagnostics['assign-type-mismatch'] =
|
||||
'值类型与赋值变量类型不匹配'
|
||||
config.diagnostics['await-in-sync'] =
|
||||
'同步函数中异步函数调用'
|
||||
config.diagnostics['cast-local-type'] =
|
||||
'已显式定义变量类型与要定义的值的类型不匹配'
|
||||
config.diagnostics['cast-type-mismatch'] =
|
||||
'变量被转换为与其初始类型不匹配的类型'
|
||||
config.diagnostics['circular-doc-class'] =
|
||||
'两个类相互继承并互相循环'
|
||||
config.diagnostics['close-non-object'] =
|
||||
'尝试关闭非对象变量的诊断'
|
||||
config.diagnostics['code-after-break'] =
|
||||
'放在循环中break语句后面的代码'
|
||||
config.diagnostics['codestyle-check'] =
|
||||
'启用对不正确样式行的诊断'
|
||||
config.diagnostics['count-down-loop'] =
|
||||
'for循环永远无法达到最大/极限值(在递减时递增)'
|
||||
config.diagnostics['deprecated'] =
|
||||
'变量已被标记为deprecated(过时)但仍在使用'
|
||||
config.diagnostics['different-requires'] =
|
||||
'required的同一个文件使用了两个不同的名字'
|
||||
config.diagnostics['discard-returns'] =
|
||||
'函数的返回值被忽略(函数被`@nodiscard`标记时)'
|
||||
config.diagnostics['doc-field-no-class'] =
|
||||
'为不存在的类`@class`标记`@field`字段'
|
||||
config.diagnostics['duplicate-doc-alias'] =
|
||||
'`@alias`字段的名字冲突'
|
||||
config.diagnostics['duplicate-doc-field'] =
|
||||
'`@field`字段的名字冲突'
|
||||
config.diagnostics['duplicate-doc-param'] =
|
||||
'`@param`字段的名字冲突'
|
||||
config.diagnostics['duplicate-set-field'] =
|
||||
'在一个类中多次定义同一字段'
|
||||
config.diagnostics['incomplete-signature-doc'] =
|
||||
'`@param`或`@return`的注释不完整'
|
||||
config.diagnostics['invisible'] =
|
||||
'使用不可见的值'
|
||||
config.diagnostics['missing-global-doc'] =
|
||||
'全局变量的注释缺失(全局函数必须为所有参数和返回值提供注释和注释)'
|
||||
config.diagnostics['missing-local-export-doc'] =
|
||||
'导出的本地函数缺少注释(导出的本地函数必须有包括本身以及所有参数和返回值的注释)'
|
||||
config.diagnostics['missing-parameter'] =
|
||||
'函数参数数少于注释函数参数数'
|
||||
config.diagnostics['missing-return'] =
|
||||
'函数带有返回注释而无返回语句'
|
||||
config.diagnostics['missing-return-value'] =
|
||||
'函数无值返回但函数使用`@return`标记了返回值'
|
||||
config.diagnostics['need-check-nil'] =
|
||||
'变量之前被赋值为`nil`或可选值(可能为 `nil`)'
|
||||
config.diagnostics['unnecessary-assert'] =
|
||||
'启用对冗余断言(针对始终为真值的表达式)的诊断'
|
||||
config.diagnostics['no-unknown'] =
|
||||
'变量的未知类型无法推断'
|
||||
config.diagnostics['not-yieldable'] =
|
||||
'不允许调用 `coroutine.yield()` '
|
||||
config.diagnostics['param-type-mismatch'] =
|
||||
'给定参数的类型与函数定义所要求的类型(`@param`)不匹配'
|
||||
config.diagnostics['redundant-return'] =
|
||||
'当放置一个不需要的返回值时触发(函数会自行退出)'
|
||||
config.diagnostics['redundant-return-value']=
|
||||
'返回`@return`注释未指定的额外值'
|
||||
config.diagnostics['return-type-mismatch'] =
|
||||
'返回值的类型与`@return`中声明的类型不匹配'
|
||||
config.diagnostics['spell-check'] =
|
||||
'启用字符串拼写检查的诊断。'
|
||||
config.diagnostics['name-style-check'] =
|
||||
'变量的名称样式检查'
|
||||
config.diagnostics['unbalanced-assignments']=
|
||||
'多重赋值时没有赋值所有变量(如`local x,y = 1`)'
|
||||
config.diagnostics['undefined-doc-class'] =
|
||||
'在`@class`注解中引用未定义的类。'
|
||||
config.diagnostics['undefined-doc-name'] =
|
||||
'在`@type`注解中引用未定义的类型或`@alias`'
|
||||
config.diagnostics['undefined-doc-param'] =
|
||||
'函数声明中`@param`引用了未定义的参数'
|
||||
config.diagnostics['undefined-field'] =
|
||||
'引用变量的未定义字段'
|
||||
config.diagnostics['unknown-cast-variable'] =
|
||||
'使用`@cast`对未定义变量的强制转换'
|
||||
config.diagnostics['unknown-diag-code'] =
|
||||
'未知的诊断代码'
|
||||
config.diagnostics['unknown-operator'] =
|
||||
'未知的运算符'
|
||||
config.diagnostics['unreachable-code'] =
|
||||
'不可达的代码'
|
||||
config.diagnostics['global-element'] =
|
||||
'启用诊断以警告全局元素。'
|
||||
config.typeFormat.config =
|
||||
'配置输入Lua代码时的格式化行为'
|
||||
config.typeFormat.config.auto_complete_end =
|
||||
'是否在合适的位置自动完成 `end`'
|
||||
config.typeFormat.config.auto_complete_table_sep =
|
||||
'是否在table末尾自动添加分隔符'
|
||||
config.typeFormat.config.format_line =
|
||||
'是否对某一行进行格式化'
|
||||
|
||||
command.exportDocument =
|
||||
'Lua: 导出文档...'
|
||||
command.addon_manager.open =
|
||||
'Lua: 打开插件管理器...'
|
||||
command.reloadFFIMeta =
|
||||
'Lua: 重新生成luajit的FFI模块C语言元数据'
|
||||
command.startServer =
|
||||
'Lua: 重启语言服务器'
|
||||
command.stopServer =
|
||||
'Lua: 停止语言服务器'
|
||||
Reference in New Issue
Block a user