ソースを参照

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"
Pierre Payen 2 年 前
コミット
c0742b2482
1 ファイル変更4 行追加2 行削除
  1. 4 2
      lgsm/modules/core_messages.sh

+ 4 - 2
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() {