From d8425ab63530592ee7648aeea25e95799189376c Mon Sep 17 00:00:00 2001 From: MeexReay Date: Fri, 21 Mar 2025 23:00:36 +0300 Subject: [PATCH] makeColorCodesPrintable --- app/kfc/kfc.js | 6 +----- app/kfc/package.json | 2 +- sys/terminal.js | 6 ++++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/kfc/kfc.js b/app/kfc/kfc.js index e7c3fb3..53a0afb 100644 --- a/app/kfc/kfc.js +++ b/app/kfc/kfc.js @@ -20,7 +20,7 @@ async function cropToScreen(text, x, y, width, height) { async function printScreen(screen_length, start_cursor, pos, content, mode, pos, x, y, width, height) { trimTerminal(screen_length) let screen = await cropToScreen(content, 0, 0, width, height - 1) - await writeStdout(screen) + await writeStdout(makeColorCodesPrintable(screen)) let status_line = `\nmode: ${mode} | size: ${content.length} | lines: ${content.split("\n").length} | x: ${pos[0]} | y: ${pos[1]}` await writeStdout(status_line) setCursor(start_cursor[0] + pos[0], start_cursor[1] + pos[1]) @@ -113,12 +113,8 @@ async function main(args) { } else if (event.type == "char") { if (mode == "normal") { if (event.char == ":") { - console.log(status_length) - trimTerminal(status_length) - console.log(getTerminal()) - writeStdout(":") setStdinFlag(RENDER_STDIN) diff --git a/app/kfc/package.json b/app/kfc/package.json index 703f047..e4fb471 100644 --- a/app/kfc/package.json +++ b/app/kfc/package.json @@ -1,6 +1,6 @@ { "name": "kfc", - "version": "0.1.0", + "version": "0.1.1", "description": "Keep Files Customized", "author": "MeexReay", "apps": [ "kfc.js" ], diff --git a/sys/terminal.js b/sys/terminal.js index a304f89..79f4962 100644 --- a/sys/terminal.js +++ b/sys/terminal.js @@ -99,6 +99,12 @@ function stripColors(content) { return convertColorCodes(content) } +function makeColorCodesPrintable(input) { + return input.replace(/\$#([0-9a-fA-F]{6})/g, '$$##$1') + .replace(/\$([A-Z_]+)--/g, '$$#$1--') + .replace(/\$reset/g, '$$#reset'); +} + function convertColorCodes(input) { return input.replace(/\$#([0-9a-fA-F]{6})/g, '') .replace(/\$##([0-9a-fA-F]{6})/g, '$#$1')