forked from Mirrorlandia_minetest/minetest
Add functions to strip color information. (#5472)
This commit is contained in:
parent
1b299b4039
commit
81c3dc32a8
@ -640,6 +640,8 @@ if INIT == "client" or INIT == "mainmenu" then
|
||||
end
|
||||
end
|
||||
|
||||
local ESCAPE_CHAR = string.char(0x1b)
|
||||
|
||||
-- Client-sided mods don't have access to getbool
|
||||
if core.setting_getbool and core.setting_getbool("disable_escape_sequences") then
|
||||
|
||||
@ -657,7 +659,6 @@ if core.setting_getbool and core.setting_getbool("disable_escape_sequences") the
|
||||
|
||||
else
|
||||
|
||||
local ESCAPE_CHAR = string.char(0x1b)
|
||||
function core.get_color_escape_sequence(color)
|
||||
return ESCAPE_CHAR .. "(c@" .. color .. ")"
|
||||
end
|
||||
@ -678,3 +679,15 @@ else
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function core.strip_foreground_colors(str)
|
||||
return (str:gsub(ESCAPE_CHAR .. "%(c@[^)]+%)", ""))
|
||||
end
|
||||
|
||||
function core.strip_background_colors(str)
|
||||
return (str:gsub(ESCAPE_CHAR .. "%(b@[^)]+%)", ""))
|
||||
end
|
||||
|
||||
function core.strip_colors(str)
|
||||
return (str:gsub(ESCAPE_CHAR .. "%([bc]@[^)]+%)", ""))
|
||||
end
|
||||
|
@ -818,6 +818,12 @@ The following functions provide escape sequences:
|
||||
* `color` is a ColorString
|
||||
* The escape sequence sets the background of the whole text element to
|
||||
`color`. Only defined for item descriptions and tooltips.
|
||||
* `color.strip_foreground_colors(str)`
|
||||
* Removes foreground colors added by `get_color_escape_sequence`.
|
||||
* `color.strip_background_colors(str)`
|
||||
* Removes background colors added by `get_background_escape_sequence`.
|
||||
* `color.strip_colors(str)`
|
||||
* Removes all color escape sequences.
|
||||
|
||||
`ColorString`
|
||||
-------------
|
||||
|
@ -1872,6 +1872,12 @@ The following functions provide escape sequences:
|
||||
* `color` is a ColorString
|
||||
* The escape sequence sets the background of the whole text element to
|
||||
`color`. Only defined for item descriptions and tooltips.
|
||||
* `color.strip_foreground_colors(str)`
|
||||
* Removes foreground colors added by `get_color_escape_sequence`.
|
||||
* `color.strip_background_colors(str)`
|
||||
* Removes background colors added by `get_background_escape_sequence`.
|
||||
* `color.strip_colors(str)`
|
||||
* Removes all color escape sequences.
|
||||
|
||||
Spatial Vectors
|
||||
---------------
|
||||
|
Loading…
Reference in New Issue
Block a user