84 lines
2.3 KiB
Lua
84 lines
2.3 KiB
Lua
---@meta utf8
|
|
|
|
---@version >5.3
|
|
---
|
|
---
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8)
|
|
---
|
|
---@class utf8lib
|
|
---
|
|
---The pattern which matches exactly one UTF-8 byte sequence, assuming that the subject is a valid UTF-8 string.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8.charpattern)
|
|
---
|
|
---@field charpattern string
|
|
utf8 = {}
|
|
|
|
---
|
|
---Receives zero or more integers, converts each one to its corresponding UTF-8 byte sequence and returns a string with the concatenation of all these sequences.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8.char)
|
|
---
|
|
---@param code integer
|
|
---@param ... integer
|
|
---@return string
|
|
---@nodiscard
|
|
function utf8.char(code, ...) end
|
|
|
|
---
|
|
---Returns values so that the construction
|
|
---```lua
|
|
---for p, c in utf8.codes(s) do
|
|
--- body
|
|
---end
|
|
---```
|
|
---will iterate over all UTF-8 characters in string s, with p being the position (in bytes) and c the code point of each character. It raises an error if it meets any invalid byte sequence.
|
|
---
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8.codes)
|
|
---
|
|
---@param s string
|
|
---@return fun(s: string, p: integer):integer, integer
|
|
function utf8.codes(s) end
|
|
|
|
---
|
|
---Returns the codepoints (as integers) from all characters in `s` that start between byte position `i` and `j` (both included).
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8.codepoint)
|
|
---
|
|
---@param s string
|
|
---@param i? integer
|
|
---@param j? integer
|
|
---@return integer code
|
|
---@return integer ...
|
|
---@nodiscard
|
|
function utf8.codepoint(s, i, j) end
|
|
|
|
---
|
|
---Returns the number of UTF-8 characters in string `s` that start between positions `i` and `j` (both inclusive).
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-utf8.len)
|
|
---
|
|
---@param s string
|
|
---@param i? integer
|
|
---@param j? integer
|
|
---@return integer?
|
|
---@return integer? errpos
|
|
---@nodiscard
|
|
function utf8.len(s, i, j) end
|
|
|
|
---
|
|
---Returns the position (in bytes) where the encoding of the `n`-th character of `s` (counting from position `i`) starts.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/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
|