From b88134b70ec9c6a8faabd9f851e72d1e84ef00f4 Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Sun, 30 Jul 2023 15:03:58 +1000 Subject: [PATCH] force position of cursor before drawing lines in ced vi. might be slower, but stops line wrapping breaking things. --- lib/ed.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ed.lua b/lib/ed.lua index 682073b..2c43364 100644 --- a/lib/ed.lua +++ b/lib/ed.lua @@ -163,10 +163,10 @@ function ed.visual(buffer) if cx ~= ox or cy ~= oy or force then io.write("\27[2J\27[H") for i = cy, cy+my do - print(string.format("\27[31m%4i \27[0m%s",i,(buffer[i] or "\27[36m~"):sub(cx,cx+mx-6))) + io.write(string.format("\27[1;%iH\27[31m%4i \27[0m%s",(i-cy+1),i,(buffer[i] or "\27[36m~"):sub(cx,cx+mx-6))) end elseif mode == "i" then - print(string.format("\27[2K\27[999D\27[31m%4i \27[0m%s",buffer.y,(buffer[buffer.y] or "\27[36m~"):sub(cx,cx+mx-6))) + io.write(string.format("\27[2K\27[999D\27[31m%4i \27[0m%s",buffer.y,(buffer[buffer.y] or "\27[36m~"):sub(cx,cx+mx-6))) end io.write(string.format("\27[1;%iH\27[0;36;%im\27[2K[%s] ced visual: %i,%i/%i, %iK free %i",my+2,(mode == "c" and 7) or 0, mode, buffer.x, buffer.y, #buffer, computer.freeMemory()//1024,mult)) io.write(string.format("\27[%i;%iH\27[0m",buffer.x+6-cx,buffer.y-cy+1))