mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-11 16:01:28 +00:00
fix(tui_layout.sh): apply font color
This commit is contained in:
@@ -29,15 +29,14 @@ content_line() {
|
|||||||
currentLine = ""
|
currentLine = ""
|
||||||
wordBuffer = ""
|
wordBuffer = ""
|
||||||
lastColor = ""
|
lastColor = ""
|
||||||
|
savedColor = ""
|
||||||
ESC = sprintf("%c", 27)
|
ESC = sprintf("%c", 27)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
n = split($0, chars, "")
|
n = split($0, chars, "")
|
||||||
|
|
||||||
for (i = 1; i <= n; i++) {
|
for (i = 1; i <= n; i++) {
|
||||||
r = chars[i]
|
r = chars[i]
|
||||||
|
|
||||||
if (r == ESC && i+1 <= n && chars[i+1] == "[") {
|
if (r == ESC && i+1 <= n && chars[i+1] == "[") {
|
||||||
ansiSeq = ""
|
ansiSeq = ""
|
||||||
for (j = i; j <= n; j++) {
|
for (j = i; j <= n; j++) {
|
||||||
@@ -74,26 +73,28 @@ content_line() {
|
|||||||
if (r == " " || charWidth == 2) {
|
if (r == " " || charWidth == 2) {
|
||||||
if (currentDisplayWidth + wordWidth + charWidth > textWidth) {
|
if (currentDisplayWidth + wordWidth + charWidth > textWidth) {
|
||||||
printf " %s\033[0m\033[%dG||\n", currentLine, table_width
|
printf " %s\033[0m\033[%dG||\n", currentLine, table_width
|
||||||
currentLine = lastColor wordBuffer
|
currentLine = savedColor wordBuffer
|
||||||
currentDisplayWidth = wordWidth
|
currentDisplayWidth = wordWidth
|
||||||
wordBuffer = r
|
wordBuffer = r
|
||||||
wordWidth = charWidth
|
wordWidth = charWidth
|
||||||
|
savedColor = lastColor
|
||||||
} else {
|
} else {
|
||||||
currentLine = currentLine wordBuffer r
|
currentLine = currentLine wordBuffer r
|
||||||
currentDisplayWidth += wordWidth + charWidth
|
currentDisplayWidth += wordWidth + charWidth
|
||||||
wordBuffer = ""
|
wordBuffer = ""
|
||||||
wordWidth = 0
|
wordWidth = 0
|
||||||
|
savedColor = lastColor
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
wordBuffer = wordBuffer r
|
wordBuffer = wordBuffer r
|
||||||
wordWidth += charWidth
|
wordWidth += charWidth
|
||||||
|
|
||||||
if (wordWidth > textWidth) {
|
if (wordWidth > textWidth) {
|
||||||
printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width
|
printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width
|
||||||
currentLine = lastColor
|
currentLine = savedColor
|
||||||
currentDisplayWidth = 0
|
currentDisplayWidth = 0
|
||||||
wordBuffer = ""
|
wordBuffer = ""
|
||||||
wordWidth = 0
|
wordWidth = 0
|
||||||
|
savedColor = lastColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -103,7 +104,7 @@ content_line() {
|
|||||||
if (wordWidth > 0) {
|
if (wordWidth > 0) {
|
||||||
if (currentDisplayWidth + wordWidth > textWidth) {
|
if (currentDisplayWidth + wordWidth > textWidth) {
|
||||||
printf " %s\033[0m\033[%dG||\n", currentLine, table_width
|
printf " %s\033[0m\033[%dG||\n", currentLine, table_width
|
||||||
currentLine = lastColor wordBuffer
|
currentLine = savedColor wordBuffer
|
||||||
} else {
|
} else {
|
||||||
currentLine = currentLine wordBuffer
|
currentLine = currentLine wordBuffer
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user