From c0742b24823670a539aae30b6ab802ee13146d46 Mon Sep 17 00:00:00 2001 From: Pierre Payen Date: Sat, 28 Oct 2023 10:24:03 +0200 Subject: [PATCH] refactor: remove ansi sequence from creeol when ansi=off (#4352) When using "ansi"="off", the escape sequence \033[K is still present and tools that input from lgsm will get thoses bytes. This commit removes that. One side-effect if two prints are done without a line feed and the second is shorter than the first, then some unwanted character could remain. ``` echo -en "${creeol}foo/bar" echo -en "${creeol}foo" ``` * before : prints "foo" * after: prints "foo/bar" --- lgsm/modules/core_messages.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lgsm/modules/core_messages.sh b/lgsm/modules/core_messages.sh index 929e942be..6488c02bc 100644 --- a/lgsm/modules/core_messages.sh +++ b/lgsm/modules/core_messages.sh @@ -10,6 +10,8 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" # nl: new line: message is following by a new line. # eol: end of line: message is placed at the end of the current line. fn_ansi_loader() { + # carriage return. + creeol="\r" if [ "${ansi}" != "off" ]; then # echo colors default="\e[0m" @@ -29,9 +31,9 @@ fn_ansi_loader() { darkgrey="\e[90m" lightgrey="\e[37m" white="\e[97m" + # erase to end of line. + creeol+="\033[K" fi - # carriage return & erase to end of line. - creeol="\r\033[K" } fn_sleep_time() {