OC-MultICE/modules/library/readline.lua

20 lines
422 B
Lua
Raw Normal View History

function readln(rC)
local s,si="",E().sI or 1
2017-05-16 02:26:28 +10:00
write("|")
while true do
if ev[1] == "key" and ev[2] == si then
2017-05-16 02:26:28 +10:00
if ev[3] == 13 then
write("\127\n")
C.yield()
return s
elseif ev[3] == 8 then
if s:len()>0 then s=s:sub(1,-2) write("\127\127|") end
elseif ev[3] > 31 and ev[3] < 127 then
s=s..string.char(ev[3]) write("\127"..(rC or string.char(ev[3])).."|")
2017-05-16 02:26:28 +10:00
end
end
C.yield()
end
end