OC-MultICE/modules/library/readline.lua

19 lines
389 B
Lua
Raw Normal View History

function readln(rC)
local s,si="",E().sI or 1
2017-05-16 02:26:28 +10:00
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
2017-07-15 03:29:22 +10:00
write(" \n")
2017-05-16 02:26:28 +10:00
C.yield()
return s
elseif ev[3] == 8 then
if s:len()>0 then s=s:sub(1,-2) write("\127") end
2017-05-16 02:26:28 +10:00
elseif ev[3] > 31 and ev[3] < 127 then
s=s..string.char(ev[3]) write((rC or string.char(ev[3])))
2017-05-16 02:26:28 +10:00
end
end
C.yield()
end
end