nixos/lua-lsp/meta/Lua 5.4 zh-cn utf8/utf8.lua

87 lines
2.4 KiB
Lua

---@meta
---@version >5.3
---
---
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8"])
---
---@class utf8lib
---
---用于精确匹配到一个 UTF-8 字节序列的模式,它假定处理的对象是一个合法的 UTF-8 字符串。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.charpattern"])
---
---@field charpattern string
utf8 = {}
---
---接收零或多个整数, 将每个整数转换成对应的 UTF-8 字节序列,并返回这些序列连接到一起的字符串。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.char"])
---
---@param code integer
---@param ... integer
---@return string
---@nodiscard
function utf8.char(code, ...) end
---
---返回一系列的值,可以让
---```lua
---for p, c in utf8.codes(s) do
--- body
---end
---```
---迭代出字符串 s 中所有的字符。 这里的 p 是位置(按字节数)而 c 是每个字符的编号。 如果处理到一个不合法的字节序列,将抛出一个错误。
---
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.codes"])
---
---@param s string
---@param lax? boolean
---@return fun(s: string, p: integer):integer, integer
function utf8.codes(s, lax) end
---
---以整数形式返回 `s` 中 从位置 `i` 到 `j` 间(包括两端) 所有字符的编号。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.codepoint"])
---
---@param s string
---@param i? integer
---@param j? integer
---@param lax? boolean
---@return integer code
---@return integer ...
---@nodiscard
function utf8.codepoint(s, i, j, lax) end
---
---返回字符串 `s` 中 从位置 `i` 到 `j` 间 (包括两端) UTF-8 字符的个数。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.len"])
---
---@param s string
---@param i? integer
---@param j? integer
---@param lax? boolean
---@return integer?
---@return integer? errpos
---@nodiscard
function utf8.len(s, i, j, lax) end
---
---返回编码在 `s` 中的第 `n` 个字符的开始位置(按字节数) (从位置 `i` 处开始统计)。
---
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.offset"])
---
---@param s string
---@param n integer
---@param i? integer
---@return integer p
---@nodiscard
function utf8.offset(s, n, i) end
return utf8