summaryrefslogtreecommitdiff
path: root/server-beta/libs/@lua
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-09-23 14:54:04 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-09-23 14:54:04 +0800
commit1dda93bba596496c1a427707fe97d92391129b8d (patch)
tree8bb525452d5677133a17662d091a077db5af1cad /server-beta/libs/@lua
parent62a3e74b5467ca3bc0879e73e8fc8b129c0bec6a (diff)
downloadlua-language-server-1dda93bba596496c1a427707fe97d92391129b8d.zip
整理文件
Diffstat (limited to 'server-beta/libs/@lua')
-rw-r--r--server-beta/libs/@lua/basic.lni570
-rw-r--r--server-beta/libs/@lua/bit32.lni136
-rw-r--r--server-beta/libs/@lua/coroutine.lni112
-rw-r--r--server-beta/libs/@lua/debug.lni297
-rw-r--r--server-beta/libs/@lua/file.lni151
-rw-r--r--server-beta/libs/@lua/io.lni326
-rw-r--r--server-beta/libs/@lua/math.lni340
-rw-r--r--server-beta/libs/@lua/os.lni176
-rw-r--r--server-beta/libs/@lua/package.lni77
-rw-r--r--server-beta/libs/@lua/string.lni276
-rw-r--r--server-beta/libs/@lua/table.lni123
-rw-r--r--server-beta/libs/@lua/utf8.lni174
12 files changed, 2758 insertions, 0 deletions
diff --git a/server-beta/libs/@lua/basic.lni b/server-beta/libs/@lua/basic.lni
new file mode 100644
index 00000000..beaa59db
--- /dev/null
+++ b/server-beta/libs/@lua/basic.lni
@@ -0,0 +1,570 @@
+<default>
+type = 'function'
+
+[arg]
+type = 'table'
+
+[assert]
+[[.args]]
+name = 'v'
+``````````
+name = 'message'
+[[.returns]]
+
+[collectgarbage]
+[[.args]]
+name = 'opt'
+type = 'string'
+optional = 'after'
+``````````
+name = 'arg'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+[[.enums]]
+name = 'opt'
+enum = '"collect"'
+default = true
+``````````
+name = 'opt'
+enum = '"stop"'
+``````````
+name = 'opt'
+enum = '"restart"'
+``````````
+name = 'opt'
+enum = '"count"'
+``````````
+name = 'opt'
+enum = '"step"'
+``````````
+name = 'opt'
+enum = '"setpause"'
+``````````
+name = 'opt'
+enum = '"setstepmul"'
+``````````
+name = 'opt'
+enum = '"isrunning"'
+
+["collectgarbage Lua 5.4"]
+name = 'collectgarbage'
+version = 'Lua 5.4'
+[[.args]]
+name = 'opt'
+type = 'string'
+optional = 'after'
+``````````
+name = 'arg'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+[[.enums]]
+name = 'opt'
+enum = '"collect"'
+default = true
+``````````
+name = 'opt'
+enum = '"stop"'
+``````````
+name = 'opt'
+enum = '"restart"'
+``````````
+name = 'opt'
+enum = '"count"'
+``````````
+name = 'opt'
+enum = '"step"'
+``````````
+name = 'opt'
+enum = '"setpause"'
+``````````
+name = 'opt'
+enum = '"setstepmul"'
+``````````
+name = 'opt'
+enum = '"incremental"'
+``````````
+name = 'opt'
+enum = '"generational"'
+``````````
+name = 'opt'
+enum = '"isrunning"'
+
+[dofile]
+special = 'dofile'
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'self'
+[[.returns]]
+
+[error]
+[[.args]]
+name = 'message'
+``````````
+name = 'level'
+type = 'integer'
+optional = 'self'
+
+[_G]
+type = 'table'
+
+[getfenv]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = f
+type = function
+optional = after
+default = 1
+[[.returns]]
+type = table
+
+[getmetatable]
+[[.args]]
+name = 'object'
+[[.returns]]
+name = 'metatable'
+type = 'table'
+
+[@ipairs]
+special = '@ipairs'
+[[.args]]
+type = 'table'
+``````````
+name = 'i'
+type = 'integer'
+[[.returns]]
+name = 'i'
+type = 'integer'
+``````````
+type = 'object'
+
+[ipairs]
+special = 'ipairs'
+[[.args]]
+name = 't'
+type = 'table'
+[[.returns]]
+name = 'iterator'
+``````````
+name = 't'
+type = 'table'
+``````````
+name = 'i'
+type = 'integer'
+default = 0
+
+[load]
+name = 'load'
+[[.args]]
+name = 'chunk'
+type = {'string', 'function'}
+``````````
+name = 'chunkname'
+type = 'string'
+optional = 'after'
+``````````
+name = 'mode'
+type = 'string'
+optional = 'after'
+``````````
+name = 'env'
+type = 'table'
+optional = 'self'
+[[.returns]]
+type = 'function'
+args = {
+ 1 = {
+ type = '...'
+ },
+}
+``````````
+name = 'error_message'
+type = 'string'
+[[.enums]]
+name = 'mode'
+enum = '"b"'
+``````````
+name = 'mode'
+enum = '"t"'
+``````````
+name = 'mode'
+enum = '"bt"'
+default = true
+
+['load Lua 5.1']
+name = 'load'
+version = 'Lua 5.1'
+[[.args]]
+name = 'func'
+type = 'function'
+``````````
+name = 'chunkname'
+type = 'string'
+[[.returns]]
+type = 'function'
+args = {
+ 1 = {
+ type = '...'
+ },
+}
+``````````
+name = 'error_message'
+type = 'string'
+
+[loadfile]
+special = 'loadfile'
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'after'
+``````````
+name = 'mode'
+type = 'string'
+optional = 'after'
+``````````
+name = 'env'
+type = 'table'
+optional = 'self'
+[[.returns]]
+type = 'function'
+args = {
+ 1 = {
+ type = '...'
+ },
+}
+``````````
+name = 'error_message'
+type = 'string'
+[[.enums]]
+name = 'mode'
+enum = '"b"'
+``````````
+name = 'mode'
+enum = '"t"'
+``````````
+name = 'mode'
+enum = '"bt"'
+default = true
+
+['loadfile Lua 5.1']
+name = 'loadfile'
+special = 'loadfile'
+version = 'Lua 5.1'
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'after'
+[[.returns]]
+type = 'function'
+args = {
+ 1 = {
+ type = '...'
+ },
+}
+``````````
+name = 'error_message'
+type = 'string'
+
+[loadstring]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+type = string
+`````````
+name = chunkname
+type = string
+optional = after
+[[.returns]]
+type = 'function'
+args = {
+ 1 = {
+ type = '...'
+ },
+}
+``````````
+name = 'error_message'
+type = 'string'
+
+[module]
+version = {'Lua 5.1', 'LuaJIT'}
+special = 'module'
+[[.args]]
+name = name
+type = string
+``````````
+type = '...'
+optional = after
+
+[next]
+special = next
+[[.args]]
+name = 'table'
+type = 'table'
+``````````
+name = 'index'
+optional = 'self'
+[[.returns]]
+name = 'key'
+``````````
+name = 'value'
+
+[pairs]
+special = pairs
+[[.args]]
+name = 't'
+type = 'table'
+[[.returns]]
+name = '@next'
+``````````
+name = 't'
+type = 'table'
+``````````
+type = 'nil'
+
+[pcall]
+special = pcall
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'arg1'
+optional = 'after'
+``````````
+type = '...'
+[[.returns]]
+name = 'success'
+type = 'boolean'
+``````````
+name = 'result'
+``````````
+type = '...'
+
+[print]
+[[.args]]
+type = '...'
+
+[rawequal]
+[[.args]]
+name = 'v1'
+``````````
+name = 'v2'
+[[.returns]]
+type = 'boolean'
+
+[rawget]
+special = 'rawget'
+[[.args]]
+name = 'table'
+type = 'table'
+``````````
+name = 'index'
+[[.returns]]
+
+[rawlen]
+[[.args]]
+name = 'v'
+type = {'table', 'string'}
+[[.returns]]
+name = 'len'
+type = 'integer'
+
+[rawset]
+special = 'rawset'
+[[.args]]
+name = 'table'
+type = 'table'
+``````````
+name = 'index'
+``````````
+name = 'value'
+[[.returns]]
+type = 'table'
+
+[select]
+[[.args]]
+name = 'index'
+type = {'string', 'integer'}
+``````````
+type = '...'
+[[.returns]]
+[[.enums]]
+name = 'index'
+enum = '"#"'
+``````````
+name = 'index'
+code = 'integer'
+
+[setfenv]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = f
+type = function/integer
+`````````
+type = table
+[[.returns]]
+type = function
+
+[setmetatable]
+special = 'setmetatable'
+[[.args]]
+name = 'table'
+type = 'table'
+``````````
+name = 'metatable'
+type = 'table'
+[[.returns]]
+type = 'table'
+
+[tonumber]
+[[.args]]
+name = 'e'
+type = {'string', 'number'}
+``````````
+name = 'base'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+type = 'number'
+
+[tostring]
+[[.args]]
+name = 'v'
+[[.returns]]
+type = 'string'
+
+[type]
+[[.args]]
+name = 'v'
+[[.returns]]
+name = 'type'
+type = 'string'
+[[.enums]]
+name = 'type'
+enum = '"nil"'
+``````````
+name = 'type'
+enum = '"number"'
+``````````
+name = 'type'
+enum = '"string"'
+``````````
+name = 'type'
+enum = '"boolean"'
+``````````
+name = 'type'
+enum = '"table"'
+``````````
+name = 'type'
+enum = '"function"'
+``````````
+name = 'type'
+enum = '"thread"'
+``````````
+name = 'type'
+enum = '"userdata"'
+
+["_VERSION Lua 5.1"]
+version = {'Lua 5.1', 'LuaJIT'}
+name = '_VERSION'
+type = 'string'
+value = 'Lua 5.1'
+
+["_VERSION Lua 5.2"]
+version = 'Lua 5.2'
+name = '_VERSION'
+type = 'string'
+value = 'Lua 5.2'
+
+["_VERSION Lua 5.3"]
+version = 'Lua 5.3'
+name = '_VERSION'
+type = 'string'
+value = 'Lua 5.3'
+
+["_VERSION Lua 5.4"]
+version = 'Lua 5.4'
+name = '_VERSION'
+type = 'string'
+value = 'Lua 5.4'
+
+[warn]
+version = 'Lua 5.4'
+[[.args]]
+name = 'message'
+type = 'string'
+``````````
+type = '...'
+
+[xpcall]
+special = xpcall
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'msgh'
+type = 'function'
+``````````
+name = 'arg1'
+optional = 'after'
+``````````
+type = '...'
+[[.returns]]
+name = 'success'
+type = 'boolean'
+``````````
+name = 'result'
+``````````
+type = '...'
+
+['xpcall Lua 5.1']
+name = 'xpcall'
+version = 'Lua 5.1'
+special = xpcall
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'err'
+type = 'function'
+[[.returns]]
+name = 'success'
+type = 'boolean'
+``````````
+name = 'result'
+``````````
+type = '...'
+
+[require]
+special = 'require'
+[[.args]]
+name = 'modname'
+type = 'string'
+[[.returns]]
+
+["require Lua 5.4"]
+version = 'Lua 5.4'
+name = 'require'
+special = 'require'
+[[.args]]
+name = 'modname'
+type = 'string'
+[[.returns]]
+type = any
+``````````
+name = loaderdata
+
+[unpack]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+type = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
diff --git a/server-beta/libs/@lua/bit32.lni b/server-beta/libs/@lua/bit32.lni
new file mode 100644
index 00000000..6920323c
--- /dev/null
+++ b/server-beta/libs/@lua/bit32.lni
@@ -0,0 +1,136 @@
+[bit32]
+version = 'Lua 5.2'
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'bit32'
+
+<default>
+version = 'Lua 5.2'
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'bit32',
+ },
+ 2 = {
+ type = 'library',
+ name = 'bit32',
+ }
+}
+
+[arshift]
+[[.args]]
+name = x
+type = integer
+``````````
+name = disp
+type = integer
+[[.returns]]
+type = integer
+
+[band]
+[[.args]]
+type = '...'
+[[.returns]]
+type = integer
+
+[bnot]
+[[.args]]
+name = x
+type = integer
+[[.returns]]
+type = integer
+
+[bor]
+[[.args]]
+type = '...'
+[[.returns]]
+type = integer
+
+[btest]
+[[.args]]
+type = '...'
+[[.returns]]
+type = boolean
+
+[bxor]
+[[.args]]
+type = '...'
+[[.returns]]
+type = integer
+
+[extract]
+[[.args]]
+name = n
+type = integer
+``````````
+name = field
+type = integer
+``````````
+name = width
+type = integer
+optional = after
+default = 1
+[[.returns]]
+type = integer
+
+[replace]
+[[.args]]
+name = n
+type = integer
+``````````
+name = v
+type = integer
+``````````
+name = field
+type = integer
+``````````
+name = width
+type = integer
+optional = false
+default = 1
+[[.returns]]
+type = integer
+
+[lrotate]
+[[.args]]
+name = x
+type = integer
+``````````
+name = disp
+type = integer
+[[.returns]]
+type = integer
+
+[lshift]
+[[.args]]
+name = x
+type = integer
+``````````
+name = disp
+type = integer
+[[.returns]]
+type = integer
+
+[rrotate]
+[[.args]]
+name = x
+type = integer
+``````````
+name = disp
+type = integer
+[[.returns]]
+type = integer
+
+[rshift]
+[[.args]]
+name = x
+type = integer
+``````````
+name = disp
+type = integer
+[[.returns]]
+type = integer
diff --git a/server-beta/libs/@lua/coroutine.lni b/server-beta/libs/@lua/coroutine.lni
new file mode 100644
index 00000000..05db9038
--- /dev/null
+++ b/server-beta/libs/@lua/coroutine.lni
@@ -0,0 +1,112 @@
+[coroutine]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'coroutine'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'coroutine',
+ },
+ 2 = {
+ type = 'library',
+ name = 'coroutine',
+ }
+}
+
+[create]
+[[.args]]
+name = 'f'
+type = 'function'
+[[.returns]]
+name = 'coroutine'
+type = 'thread'
+
+[isyieldable]
+[[.returns]]
+type = 'boolean'
+
+['isyieldable Lua 5.4']
+name = isyieldable
+version = 'Lua 5.4'
+[[.args]]
+name = co
+type = thread
+optional = after
+[[.returns]]
+type = boolean
+
+[close]
+version = 'Lua 5.4'
+[[.args]]
+name = 'co'
+type = 'thread'
+[[.returns]]
+name = 'noerror'
+type = 'boolean'
+`````````
+name = 'errorobject'
+type = 'any'
+
+[resume]
+[[.args]]
+name = 'co'
+type = 'thread'
+``````````
+name = 'val1'
+optional = 'after'
+``````````
+type = '...'
+[[.returns]]
+name = 'success'
+type = 'boolean'
+``````````
+name = 'result'
+``````````
+type = '...'
+
+[running]
+[[.returns]]
+name = 'running_co'
+type = 'thread'
+``````````
+name = 'is_main'
+type = 'boolean'
+
+[status]
+[[.args]]
+name = 'co'
+type = 'thread'
+[[.returns]]
+name = 'status'
+type = 'string'
+[[.enums]]
+name = 'status'
+enum = '"running"'
+``````````
+name = 'status'
+enum = '"suspended"'
+``````````
+name = 'status'
+enum = '"normal"'
+``````````
+name = 'status'
+enum = '"dead"'
+
+[wrap]
+[[.args]]
+name = 'f'
+type = 'function'
+[[.returns]]
+type = '...'
+
+[yield]
+[[.args]]
+type = '...'
+[[.returns]]
+type = '...'
diff --git a/server-beta/libs/@lua/debug.lni b/server-beta/libs/@lua/debug.lni
new file mode 100644
index 00000000..a7739993
--- /dev/null
+++ b/server-beta/libs/@lua/debug.lni
@@ -0,0 +1,297 @@
+[debug]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'debug'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'debug',
+ },
+ 2 = {
+ type = 'library',
+ name = 'debug',
+ }
+}
+
+["debug.debug"]
+name = 'debug'
+
+[getfenv]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = o
+[[.returns]]
+type = table
+
+[gethook]
+[[.args]]
+type = 'thread'
+optional = 'self'
+[[.returns]]
+name = 'hook'
+type = 'function'
+``````````
+name = 'mask'
+type = 'string'
+``````````
+name = 'count'
+type = 'integer'
+
+[getinfo]
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'f'
+type = {'integer', 'function'}
+``````````
+name = 'what'
+type = 'string'
+optional = 'self'
+[[.returns]]
+name = 'info'
+type = 'table'
+[[.enums]]
+name = 'what'
+enum = '"n"'
+``````````
+name = 'what'
+enum = '"S"'
+``````````
+name = 'what'
+enum = '"l"'
+``````````
+name = 'what'
+enum = '"t"'
+``````````
+name = 'what'
+enum = '"u"'
+``````````
+name = 'what'
+enum = '"f"'
+``````````
+name = 'what'
+enum = '"L"'
+
+['getinfo Lua 5.1':getinfo]
+name = 'getinfo'
+version = 'Lua 5.1'
+
+[getlocal]
+name = 'getlocal'
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'f'
+type = {'integer', 'function'}
+``````````
+name = 'local'
+type = 'integer'
+
+['getlocal Lua 5.1']
+name = 'getlocal'
+version = 'Lua 5.1'
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'level'
+type = 'integer'
+``````````
+name = 'local'
+type = 'integer'
+
+[getmetatable]
+[[.args]]
+name = 'value'
+[[.returns]]
+name = 'metatable'
+type = 'table'
+
+[getregistry]
+[[.returns]]
+type = 'table'
+
+[getupvalue]
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'up'
+type = 'integer'
+[[.returns]]
+name = 'name'
+type = 'string'
+``````````
+name = 'value'
+
+[getuservalue]
+[[.args]]
+name = 'u'
+type = 'userdata'
+[[.returns]]
+
+["getuservalue Lua 5.4"]
+name = 'getuservalue'
+version = 'Lua 5.4'
+[[.args]]
+name = 'u'
+type = 'userdata'
+``````````
+name = 'n'
+type = 'integer'
+[[.returns]]
+type = 'any'
+``````````
+type = 'boolean'
+
+[setCstacklimit]
+version = 'Lua 5.4'
+[[.args]]
+name = 'limit'
+type = 'integer'
+[[.returns]]
+type = {'interger', 'boolean'}
+
+[setfenv]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = 'object'
+``````````
+type = 'table'
+[[.returns]]
+name = 'object'
+
+[sethook]
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'hook'
+type = 'function'
+``````````
+name = 'mask'
+type = 'string'
+``````````
+name = 'count'
+type = 'integer'
+optional = 'self'
+[[.enums]]
+name = 'mask'
+enum = '"c"'
+``````````
+name = 'mask'
+enum = '"r"'
+``````````
+name = 'mask'
+enum = '"l"'
+
+[setlocal]
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'level'
+type = 'integer'
+``````````
+name = 'local'
+type = 'integer'
+``````````
+name = 'value'
+[[.returns]]
+name = 'name'
+type = 'string'
+
+[setmetatable]
+[[.args]]
+name = 'value'
+``````````
+type = 'table'
+[[.returns]]
+name = 'value'
+
+[setupvalue]
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'up'
+type = 'integer'
+``````````
+name = 'value'
+[[.returns]]
+name = 'name'
+type = 'string'
+
+[setuservalue]
+[[.args]]
+name = 'udata'
+type = 'userdata'
+``````````
+name = 'value'
+[[.returns]]
+name = 'udata'
+type = 'userdata'
+
+["setuservalue Lua 5.4"]
+name = 'setuservalue'
+version = 'Lua 5.4'
+[[.args]]
+name = 'udata'
+type = 'userdata'
+``````````
+name = 'value'
+``````````
+name = 'n'
+type = 'integer'
+[[.returns]]
+name = 'udata'
+type = 'userdata'
+
+[traceback]
+[[.args]]
+type = 'thread'
+optional = 'self'
+``````````
+name = 'message'
+optional = 'after'
+``````````
+name = 'level'
+optional = 'self'
+default = 1
+[[.returns]]
+name = 'message'
+
+[upvalueid]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}
+[[.args]]
+name = 'f'
+type = 'function'
+``````````
+name = 'n'
+type = 'integer'
+[[.returns]]
+name = 'id'
+type = 'userdata'
+
+[upvaluejoin]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}
+[[.args]]
+name = 'f1'
+type = 'function'
+``````````
+name = 'n1'
+type = 'integer'
+``````````
+name = 'f2'
+type = 'function'
+``````````
+name = 'n2'
+type = 'integer'
diff --git a/server-beta/libs/@lua/file.lni b/server-beta/libs/@lua/file.lni
new file mode 100644
index 00000000..387a10df
--- /dev/null
+++ b/server-beta/libs/@lua/file.lni
@@ -0,0 +1,151 @@
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'object',
+ name = 'FILE*',
+ },
+}
+
+[close]
+[[.args]]
+type = 'FILE*'
+[[.returns]]
+name = 'suc'
+type = 'boolean'
+default = true
+optional = 'after'
+``````````
+name = 'type'
+type = 'string'
+``````````
+name = 'code'
+[[.enums]]
+name = 'type'
+enum = '"exit"'
+``````````
+name = 'type'
+enum = '"signal"'
+
+[flush]
+[[.args]]
+type = 'FILE*'
+
+[lines]
+[[.args]]
+type = 'FILE*'
+``````````
+name = 'mode'
+type = '...'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'c',
+ type = {'string', 'number'},
+ }
+}
+[[.enums]]
+name = 'mode'
+enum = '"n"'
+``````````
+name = 'mode'
+enum = '"a"'
+``````````
+name = 'mode'
+enum = '"l"'
+default = true
+``````````
+name = 'mode'
+enum = '"L"'
+``````````
+name = 'mode'
+code = 'number'
+
+[read]
+[[.args]]
+type = 'FILE*'
+``````````
+name = 'mode'
+type = '...'
+[[.returns]]
+type = {'string', 'number'}
+``````````
+type = '...'
+[[.enums]]
+name = 'mode'
+enum = '"n"'
+``````````
+name = 'mode'
+enum = '"a"'
+``````````
+name = 'mode'
+enum = '"l"'
+default = true
+``````````
+name = 'mode'
+enum = '"L"'
+``````````
+name = 'mode'
+code = 'number'
+
+[seek]
+[[.args]]
+type = 'FILE*'
+``````````
+name = 'whence'
+type = 'string'
+optional = 'after'
+``````````
+name = 'offset'
+type = 'integer'
+default = 0
+optional = 'self'
+[[.returns]]
+name = 'offset'
+type = 'integer'
+``````````
+name = 'errmsg'
+type = 'string'
+optional = 'self'
+[[.enums]]
+name = 'whence'
+enum = '"set"'
+``````````
+name = 'whence'
+enum = '"cur"'
+default = true
+``````````
+name = 'whence'
+enum = '"end"'
+
+[setvbuf]
+[[.args]]
+type = 'FILE*'
+``````````
+name = 'mode'
+type = 'string'
+``````````
+name = 'size'
+type = 'integer'
+[[.enums]]
+name = 'mode'
+enum = '"no"'
+``````````
+name = 'mode'
+enum = '"full"'
+``````````
+name = 'mode'
+enum = '"line"'
+
+[write]
+[[.args]]
+type = 'FILE*'
+``````````
+type = '...'
+[[.returns]]
+type = 'FILE*'
+``````````
+name = 'errmsg'
+type = 'string'
+optional = 'self'
diff --git a/server-beta/libs/@lua/io.lni b/server-beta/libs/@lua/io.lni
new file mode 100644
index 00000000..00e8c9c8
--- /dev/null
+++ b/server-beta/libs/@lua/io.lni
@@ -0,0 +1,326 @@
+[io]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'io'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'io',
+ },
+ 2 = {
+ type = 'library',
+ name = 'io',
+ }
+}
+
+[stdin]
+type = 'FILE*'
+
+[stdout]
+type = 'FILE*'
+
+[stderr]
+type = 'FILE*'
+
+[close]
+[[.args]]
+name = 'file'
+type = 'FILE*'
+optional = 'self'
+[[.returns]]
+name = 'suc'
+type = 'boolean'
+default = true
+optional = 'after'
+``````````
+name = 'type'
+type = 'string'
+``````````
+name = 'code'
+[[.enums]]
+name = 'type'
+enum = '"exit"'
+``````````
+name = 'type'
+enum = '"signal"'
+
+[flush]
+
+[input]
+[[.args]]
+name = 'file'
+type = {'string', 'FILE*'}
+optional = 'self'
+[[.returns]]
+type = 'FILE*'
+optional = 'self'
+
+["lines Lua 5.1"]
+name = 'lines'
+version = {'Lua 5.1', 'Lua 5.2'}
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'after'
+``````````
+name = 'mode'
+type = '...'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'c',
+ type = {'string', 'number'},
+ }
+}
+[[.enums]]
+name = 'mode'
+enum = '"*n"'
+``````````
+name = 'mode'
+enum = '"*a"'
+``````````
+name = 'mode'
+enum = '"*l"'
+default = true
+``````````
+name = 'mode'
+code = 'number'
+
+["lines Lua 5.3"]
+name = 'lines'
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'after'
+``````````
+name = 'mode'
+type = '...'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'c',
+ type = {'string', 'number'},
+ }
+}
+[[.enums]]
+name = 'mode'
+enum = '"n"'
+``````````
+name = 'mode'
+enum = '"a"'
+``````````
+name = 'mode'
+enum = '"l"'
+default = true
+``````````
+name = 'mode'
+enum = '"L"'
+``````````
+name = 'mode'
+code = 'number'
+
+["lines LuaJIT"]
+name = 'lines'
+version = 'LuaJIT'
+[[.args]]
+name = 'filename'
+type = 'string'
+optional = 'after'
+``````````
+name = 'mode'
+type = '...'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'c',
+ type = {'string', 'number'},
+ }
+}
+[[.enums]]
+name = 'mode'
+enum = '"*n"'
+``````````
+name = 'mode'
+enum = '"*a"'
+``````````
+name = 'mode'
+enum = '"*l"'
+default = true
+``````````
+name = 'mode'
+enum = '"*L"'
+``````````
+name = 'mode'
+code = 'number'
+
+[open]
+[[.args]]
+name = 'filename'
+type = 'string'
+``````````
+name = 'mode'
+type = 'string'
+optional = 'self'
+default = 'r'
+[[.returns]]
+type = 'FILE*'
+[[.enums]]
+name = 'mode'
+enum = '"r"'
+default = true
+``````````
+name = 'mode'
+enum = '"w"'
+``````````
+name = 'mode'
+enum = '"a"'
+``````````
+name = 'mode'
+enum = '"r+"'
+``````````
+name = 'mode'
+enum = '"w+"'
+``````````
+name = 'mode'
+enum = '"a+"'
+
+[output:input]
+
+[popen]
+[[.args]]
+name = 'prog'
+type = 'string'
+``````````
+name = 'mode'
+type = 'string'
+optional = 'self'
+default = 'r'
+[[.returns]]
+name = 'file'
+type = 'FILE*'
+[[.enums]]
+name = 'mode'
+enum = '"r"'
+default = true
+``````````
+name = 'mode'
+enum = '"w"'
+
+["read Lua 5.1"]
+name = 'read'
+version = {'Lua 5.1', 'Lua 5.2'}
+[[.args]]
+name = 'mode'
+type = '...'
+[[.returns]]
+type = {'string', 'number'}
+``````````
+type = '...'
+[[.enums]]
+name = 'mode'
+enum = '"*n"'
+``````````
+name = 'mode'
+enum = '"*a"'
+``````````
+name = 'mode'
+enum = '"*l"'
+default = true
+``````````
+name = 'mode'
+code = 'number'
+
+["read Lua 5.3"]
+name = 'read'
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'mode'
+type = '...'
+[[.returns]]
+type = {'string', 'number'}
+``````````
+type = '...'
+[[.enums]]
+name = 'mode'
+enum = '"n"'
+``````````
+name = 'mode'
+enum = '"a"'
+``````````
+name = 'mode'
+enum = '"l"'
+default = true
+``````````
+name = 'mode'
+enum = '"L"'
+``````````
+name = 'mode'
+code = 'number'
+
+["read LuaJIT"]
+name = 'read'
+version = 'LuaJIT'
+[[.args]]
+name = 'mode'
+type = '...'
+[[.returns]]
+type = {'string', 'number'}
+``````````
+type = '...'
+[[.enums]]
+name = 'mode'
+enum = '"*n"'
+``````````
+name = 'mode'
+enum = '"*a"'
+``````````
+name = 'mode'
+enum = '"*l"'
+default = true
+``````````
+name = 'mode'
+enum = '"*L"'
+``````````
+name = 'mode'
+code = 'number'
+
+[tmpfile]
+[[.returns]]
+type = 'FILE*'
+
+[type]
+[[.args]]
+name = 'obj'
+type = 'FILE*'
+[[.returns]]
+name = 'type'
+type = 'string'
+[[.enums]]
+name = 'type'
+enum = '"file"'
+``````````
+name = 'type'
+enum = '"closed file"'
+``````````
+name = 'type'
+code = 'nil'
+
+[write]
+[[.args]]
+type = '...'
+[[.returns]]
+type = 'FILE*'
+``````````
+name = 'errmsg'
+type = 'string'
+optional = 'self'
diff --git a/server-beta/libs/@lua/math.lni b/server-beta/libs/@lua/math.lni
new file mode 100644
index 00000000..aef488e1
--- /dev/null
+++ b/server-beta/libs/@lua/math.lni
@@ -0,0 +1,340 @@
+[math]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'math'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'math',
+ },
+ 2 = {
+ type = 'library',
+ name = 'math',
+ }
+}
+
+[abs]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[acos]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[asin]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+["atan Lua 5.1"]
+name = 'atan'
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'y'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+["atan Lua 5.3"]
+name = 'atan'
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'y'
+type = 'number'
+``````````
+name = 'x'
+type = 'number'
+optional = 'self'
+default = 1
+[[.returns]]
+type = 'number'
+
+[atan2]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'y'
+type = 'number'
+``````````
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[ceil]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'integer'
+
+[cos]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[cosh]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[deg]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[exp]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[floor]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'integer'
+
+[fmod]
+[[.args]]
+name = 'x'
+type = 'number'
+``````````
+name = 'y'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[frexp]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+name = 'm'
+type = 'number'
+``````````
+name = 'e'
+type = 'number'
+
+[huge]
+type = 'number'
+
+[ldexp]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'm'
+type = 'number'
+``````````
+name = 'e'
+type = 'integer'
+[[.returns]]
+type = 'number'
+
+[log]
+[[.args]]
+name = 'x'
+type = 'number'
+``````````
+name = 'base'
+type = 'number'
+optional = 'self'
+default = 'e'
+[[.returns]]
+type = 'number'
+
+['log Lua 5.1']
+name = log
+version = 'Lua 5.1'
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[log10]
+version = 'Lua 5.1'
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[max]
+[[.args]]
+name = 'x'
+type = 'number'
+``````````
+type = '...'
+[[.returns]]
+type = 'number'
+
+[maxinteger]
+version = {'Lua 5.3', 'Lua 5.4'}
+type = 'integer'
+
+[min]
+[[.args]]
+name = 'x'
+type = 'number'
+``````````
+type = '...'
+[[.returns]]
+type = 'number'
+
+[mininteger]
+version = {'Lua 5.3', 'Lua 5.4'}
+type = 'integer'
+
+[modf]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'integer'
+``````````
+type = 'number'
+
+[pi]
+type = 'number'
+
+[pow]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'x'
+type = 'number'
+``````````
+name = 'y'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[rad]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[random]
+[[.args]]
+name = 'm'
+type = 'integer'
+optional = 'after'
+``````````
+name = 'n'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+type = 'number'
+
+[randomseed]
+[[.args]]
+name = 'x'
+type = 'integer'
+
+["randomseed Lua 5.4"]
+name = 'randomseed'
+version = 'Lua 5.4'
+[[.args]]
+name = 'x'
+type = 'integer'
+optional = 'after'
+``````````
+name = 'y'
+type = 'integer'
+optional = 'after'
+default = 0
+
+[sin]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[sinh]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[sqrt]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[tan]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[tanh]
+version = {'Lua 5.1', 'Lua 5.2', 'LuaJIT'}
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'number'
+
+[tointeger]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+type = 'integer'
+
+[type]
+[[.args]]
+name = 'x'
+type = 'number'
+[[.returns]]
+name = 'type'
+type = 'string'
+[[.enums]]
+name = 'type'
+enum = '"integer"'
+``````````
+name = 'type'
+enum = '"float"'
+``````````
+name = 'type'
+code = 'nil'
+
+[ult]
+[[.args]]
+name = 'm'
+type = 'integer'
+``````````
+name = 'n'
+type = 'integer'
+[[.returns]]
+type = 'boolean'
diff --git a/server-beta/libs/@lua/os.lni b/server-beta/libs/@lua/os.lni
new file mode 100644
index 00000000..f6b69317
--- /dev/null
+++ b/server-beta/libs/@lua/os.lni
@@ -0,0 +1,176 @@
+[os]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'os'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'os',
+ },
+ 2 = {
+ type = 'library',
+ name = 'os',
+ }
+}
+
+[clock]
+[[.returns]]
+type = 'number'
+
+[date]
+[[.args]]
+name = 'format'
+type = 'string'
+optional = 'after'
+``````````
+name = 'time'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+type = 'string'
+
+[difftime]
+[[.args]]
+name = 't2'
+type = 'integer'
+``````````
+name = 't1'
+type = 'integer'
+[[.returns]]
+type = 'integer'
+
+[execute]
+[[.args]]
+name = 'command'
+type = 'string'
+optional = 'self'
+[[.returns]]
+name = 'suc'
+type = 'boolean'
+default = 'true'
+optional = 'after'
+``````````
+name = 'type'
+type = 'string'
+``````````
+name = 'code'
+type = 'integer'
+[[.enums]]
+type = 'type'
+enum = '"exit"'
+``````````
+type = 'type'
+enum = '"signal"'
+
+['execute Lua 5.1']
+name = 'execute'
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+name = 'command'
+type = 'string'
+optional = 'self'
+[[.returns]]
+name = 'code'
+type = 'integer'
+
+[exit]
+[[.args]]
+name = 'code'
+type = {'boolean', 'integer'}
+optional = 'after'
+default = true
+``````````
+name = 'close'
+type = 'boolean'
+optional = 'self'
+
+['exit Lua 5.1']
+name = 'exit'
+version = 'Lua 5.1'
+[[.args]]
+name = 'code'
+type = 'integer'
+optional = 'after'
+default = 0
+
+[getenv]
+[[.args]]
+name = 'varname'
+type = 'string'
+[[.returns]]
+type = 'string'
+
+[remove]
+[[.args]]
+name = 'filename'
+type = 'string'
+[[.returns]]
+name = 'suc'
+type = 'boolean'
+``````````
+name = 'errmsg'
+type = 'string'
+optional = 'self'
+
+[rename]
+[[.args]]
+name = 'oldname'
+type = 'string'
+``````````
+name = 'newname'
+type = 'string'
+[[.returns]]
+name = 'suc'
+type = 'boolean'
+``````````
+name = 'errmsg'
+type = 'string'
+optional = 'self'
+
+[setlocale]
+[[.args]]
+name = 'locale'
+type = 'string'
+``````````
+name = 'category'
+type = 'string'
+optional = 'self'
+[[.returns]]
+name = 'locale'
+type = 'string'
+[[.enums]]
+name = 'category'
+enum = '"all"'
+default = true
+``````````
+name = 'category'
+enum = '"collate"'
+``````````
+name = 'category'
+enum = '"ctype"'
+``````````
+name = 'category'
+enum = '"monetary"'
+``````````
+name = 'category'
+enum = '"numeric"'
+``````````
+name = 'category'
+enum = '"time"'
+
+[time]
+[[.args]]
+type = 'table'
+optional = 'self'
+[[.returns]]
+type = 'integer'
+
+[tmpname]
+[[.returns]]
+type = 'string'
diff --git a/server-beta/libs/@lua/package.lni b/server-beta/libs/@lua/package.lni
new file mode 100644
index 00000000..4a520e89
--- /dev/null
+++ b/server-beta/libs/@lua/package.lni
@@ -0,0 +1,77 @@
+[package]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'package'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'package',
+ },
+ 2 = {
+ type = 'library',
+ name = 'package',
+ }
+}
+
+[config]
+type = 'string'
+
+[cpath]
+type = 'string'
+
+[loaded]
+type = 'table'
+
+[loaders]
+version = {'Lua 5.1', 'LuaJIT'}
+type = 'table'
+
+[loadlib]
+[[.args]]
+name = 'libname'
+type = 'string'
+``````````
+name = 'funcname'
+type = 'string'
+[[.returns]]
+
+[path]
+type = 'string'
+
+[preload]
+type = 'table'
+
+[searchers]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4'}
+type = 'table'
+
+[searchpath]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}
+[[.args]]
+name = 'name'
+type = 'string'
+``````````
+name = 'path'
+type = 'string'
+``````````
+name = 'sep'
+type = 'string'
+optional = 'after'
+default = '.'
+``````````
+name = 'rep'
+type = 'string'
+optional = 'self'
+
+[seeall]
+version = {'Lua 5.1', 'LuaJIT'}
+special = seeall
+[[.args]]
+name = module
+type = table
diff --git a/server-beta/libs/@lua/string.lni b/server-beta/libs/@lua/string.lni
new file mode 100644
index 00000000..55bfde8a
--- /dev/null
+++ b/server-beta/libs/@lua/string.lni
@@ -0,0 +1,276 @@
+[string]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'string'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'string',
+ },
+ 2 = {
+ type = 'library',
+ name = 'string',
+ },
+ 3 = {
+ type = 'object',
+ name = 'string',
+ }
+}
+
+[byte]
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+type = 'integer'
+``````````
+type = '...'
+
+[char]
+[[.args]]
+name = 'byte'
+type = 'integer'
+``````````
+type = '...'
+[[.returns]]
+type = 'string'
+``````````
+type = '...'
+
+[dump]
+[[.args]]
+type = 'function'
+``````````
+name = 'strip'
+type = 'boolean'
+[[.returns]]
+name = 'binary'
+type = 'string'
+
+[find]
+[[.args]]
+type = 'string'
+``````````
+name = 'pattern'
+type = 'string'
+``````````
+name = 'init'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'plain'
+type = 'boolean'
+optional = 'self'
+[[.returns]]
+name = 'start'
+type = 'integer'
+``````````
+name = 'end'
+type = 'integer'
+``````````
+name = 'captured'
+type = '...'
+
+[format]
+[[.args]]
+type = 'string'
+``````````
+type = '...'
+[[.returns]]
+type = 'string'
+
+[gmatch]
+[[.args]]
+type = 'string'
+``````````
+name = 'pattern'
+type = 'string'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ type = 'string'
+ },
+ 2 = {
+ type = '...'
+ },
+}
+
+["gmatch Lua 5.4"]
+name = 'gmatch'
+version = 'Lua 5.4'
+[[.args]]
+type = 'string'
+``````````
+name = 'pattern'
+type = 'string'
+``````````
+name = 'init'
+type = 'integer'
+optional = 'after'
+default = 1
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ type = 'string'
+ },
+ 2 = {
+ type = '...'
+ },
+}
+
+[gsub]
+[[.args]]
+type = 'string'
+``````````
+name = 'pattern'
+type = 'string'
+``````````
+name = 'repl'
+type = {'string', 'table', 'function'}
+``````````
+name = 'n'
+type = 'integer'
+[[.returns]]
+type = 'string'
+``````````
+name = 'count'
+type = 'integer'
+
+[len]
+[[.args]]
+type = 'string'
+[[.returns]]
+type = 'integer'
+
+[lower]
+[[.args]]
+type = 'string'
+[[.returns]]
+type = 'string'
+
+[match]
+[[.args]]
+type = 'string'
+``````````
+name = 'pattern'
+type = 'string'
+``````````
+name = 'init'
+type = 'integer'
+optional = 'self'
+default = 1
+[[.returns]]
+name = 'captured'
+type = 'string'
+
+[pack]
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'fmt'
+type = 'string'
+``````````
+name = 'v1'
+type = 'string'
+``````````
+name = 'v2'
+type = 'string'
+``````````
+type = '...'
+[[.returns]]
+name = 'binary'
+type = 'string'
+
+[packsize]
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'fmt'
+type = 'string'
+[[.returns]]
+type = 'integer'
+
+[rep]
+[[.args]]
+type = 'string'
+``````````
+name = n
+type = 'integer'
+``````````
+name = 'sep'
+type = 'string'
+optional = 'self'
+default = ''
+[[.returns]]
+type = 'string'
+
+['rep Lua 5.1']
+name = rep
+version = 'Lua 5.1'
+[[.args]]
+type = 'string'
+``````````
+name = n
+type = 'integer'
+[[.returns]]
+type = 'string'
+
+[reverse]
+[[.args]]
+type = 'string'
+[[.returns]]
+type = 'string'
+
+[sub]
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
+default = -1
+[[.returns]]
+type = 'string'
+
+[unpack]
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'fmt'
+type = 'string'
+``````````
+name = 's'
+type = 'string'
+``````````
+name = 'pos'
+type = 'integer'
+optional = 'self'
+default = 1
+[[.returns]]
+type = '...'
+``````````
+name = 'offset'
+type = 'integer'
+
+[upper]
+[[.args]]
+type = 'string'
+[[.returns]]
+type = 'string'
diff --git a/server-beta/libs/@lua/table.lni b/server-beta/libs/@lua/table.lni
new file mode 100644
index 00000000..347756da
--- /dev/null
+++ b/server-beta/libs/@lua/table.lni
@@ -0,0 +1,123 @@
+[table]
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'table'
+
+<default>
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'table',
+ },
+ 2 = {
+ type = 'library',
+ name = 'table',
+ }
+}
+
+[concat]
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'sep'
+type = 'string'
+optional = 'after'
+default = ''
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+type = 'string'
+
+[insert]
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'pos'
+type = 'integer'
+optional = 'self'
+``````````
+name = 'value'
+type = 'any'
+
+[maxn]
+version = {'Lua 5.1', 'LuaJIT'}
+[[.args]]
+type = table
+[[.returns]]
+type = integer
+
+[move]
+version = {'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'a1'
+type = 'table'
+``````````
+name = 'f'
+type = 'integer'
+``````````
+name = 'e'
+type = 'integer'
+``````````
+name = 't'
+type = 'integer'
+``````````
+name = 'a2'
+type = 'table'
+optional = 'self'
+[[.returns]]
+name = 'a2'
+type = 'table'
+
+[pack]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+type = '...'
+[[.returns]]
+type = 'table'
+
+[remove]
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'pos'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+
+[sort]
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'comp'
+type = 'function'
+optional = 'self'
+
+[unpack]
+version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4'}
+[[.args]]
+name = 'list'
+type = 'table'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+type = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
diff --git a/server-beta/libs/@lua/utf8.lni b/server-beta/libs/@lua/utf8.lni
new file mode 100644
index 00000000..876fdd9c
--- /dev/null
+++ b/server-beta/libs/@lua/utf8.lni
@@ -0,0 +1,174 @@
+[utf8]
+version = {'Lua 5.3', 'Lua 5.4'}
+type = 'table'
+[[.source]]
+type = 'global'
+``````````
+type = 'library'
+name = 'utf8'
+
+<default>
+version = {'Lua 5.3', 'Lua 5.4'}
+type = 'function'
+parent = {
+ 1 = {
+ type = 'global',
+ name = 'utf8',
+ },
+ 2 = {
+ type = 'library',
+ name = 'utf8',
+ }
+}
+
+[char]
+[[.args]]
+name = 'code'
+type = 'integer'
+``````````
+type = '...'
+[[.returns]]
+type = 'string'
+
+[charpattern]
+type = 'string'
+code = [=['[\0-\x7F\xC2-\xF4][\x80-\xBF]*']=]
+
+[codes]
+[[.args]]
+type = 'string'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'p',
+ type = 'integer',
+ },
+ 2 = {
+ name = 'c',
+ type = 'integer',
+ }
+}
+
+["codes Lua 5.4"]
+name = 'codes'
+version = 'Lua 5.4'
+[[.args]]
+type = 'string'
+``````````
+name = 'lax'
+type = 'boolean'
+optional = 'after'
+[[.returns]]
+type = 'function'
+returns = {
+ 1 = {
+ name = 'p',
+ type = 'integer',
+ },
+ 2 = {
+ name = 'c',
+ type = 'integer',
+ }
+}
+
+[codepoint]
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
+[[.returns]]
+name = 'code'
+type = 'integer'
+``````````
+type = '...'
+
+["codepoint Lua 5.4"]
+name = 'codepoint'
+version = 'Lua 5.4'
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'after'
+``````````
+name = 'lax'
+type = 'boolean'
+optional = 'after'
+[[.returns]]
+name = 'code'
+type = 'integer'
+``````````
+type = '...'
+
+[len]
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'self'
+default = -1
+[[.returns]]
+type = 'integer'
+``````````
+name = 'errpos'
+type = 'integer'
+optional = 'self'
+
+["len Lua 5.4"]
+name = 'len'
+version = 'Lua 5.4'
+[[.args]]
+type = 'string'
+``````````
+name = 'i'
+type = 'integer'
+optional = 'after'
+default = 1
+``````````
+name = 'j'
+type = 'integer'
+optional = 'after'
+default = -1
+``````````
+name = 'lax'
+type = 'boolean'
+optional = 'after'
+[[.returns]]
+type = 'integer'
+``````````
+name = 'errpos'
+type = 'integer'
+optional = 'self'
+
+[offset]
+[[.args]]
+type = 'string'
+``````````
+name = 'n'
+type = 'integer'
+``````````
+name = 'i'
+type = 'integer'
+[[.returns]]
+name = 'p'
+type = 'integer'