From 81c3dc32a8e48aee076e4b28cae0037a4ae254d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Mart=C3=ADnez?= Date: Tue, 28 Mar 2017 16:55:39 -0300 Subject: Add functions to strip color information. (#5472) --- builtin/common/misc_helpers.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'builtin/common/misc_helpers.lua') diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua index cf76fbde9..f7111680c 100644 --- a/builtin/common/misc_helpers.lua +++ b/builtin/common/misc_helpers.lua @@ -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 -- cgit v1.2.3