From 19ceb7a9bfba1fbf110a7698fc034ad2813eeeb1 Mon Sep 17 00:00:00 2001 From: MeexReay Date: Fri, 21 Mar 2025 18:55:10 +0300 Subject: [PATCH] kfs sdfsdf --- app/kfc/kfc.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/kfc/kfc.js b/app/kfc/kfc.js index e1a48f5..fa2ab6d 100644 --- a/app/kfc/kfc.js +++ b/app/kfc/kfc.js @@ -1,3 +1,21 @@ +async function cropToScreen(text, x, y, width, height) { + let screen = [] + let i = y + for (const line of text.split("\n")) { + if (i <= 0) { + screen.push(line.slice(x, width + x)) + if (screen.length == height) { + break + } + } else { + i-- + } + } + for (let i = screen.length; i < height; i++) { + screen.push("~") + } + return screen.join("\n") +} async function main(args) { if (args.length != 2) { @@ -5,10 +23,14 @@ async function main(args) { return 1 } + let [terminal_width, terminal_height] = getTerminalSize() + let content = readFile(args[1]) let pos = getCursor() + await writeStdout(cropToScreen(content, 0, 0, terminal_width, terminal_height - 1)) + setStdinFlag(ENABLE_STDIN) setStdinFlag(SILENT_STDIN) @@ -29,6 +51,9 @@ async function main(args) { } setStdinFlag(RENDER_STDIN) + setStdinFlag(DISABLE_STDIN) + + await writeStdout("\n") return 0 } \ No newline at end of file