3 fun static string readline(string prompt)
11 ["NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
12 "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI",
13 "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB",
14 "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US",
15 " ", "!", "\"", "#", "$", "%", "&", "'",
16 "(", ")", "*", "+", ",", "-", ".", "/",
17 "0", "1", "2", "3", "4", "5", "6", "7",
18 "8", "9", ":", ";", "<", "=", ">", "?",
19 "@", "A", "B", "C", "D", "E", "F", "G",
20 "H", "I", "J", "K", "L", "M", "N", "O",
21 "P", "Q", "R", "S", "T", "U", "V", "W",
22 "X", "Y", "Z", "[", "\\", "]", "^", "_",
23 "`", "a", "b", "c", "d", "e", "f", "g",
24 "h", "i", "j", "k", "l", "m", "n", "o",
25 "p", "q", "r", "s", "t", "u", "v", "w",
26 "x", "y", "z", "{", "|", "}", "~", "DEL"] @=> string asciiTable[];
35 while( kb.more() && !done )
38 asciiTable[char] => repr;
40 if( repr == "EOT" || repr == "LF" || repr == "CR" )
44 else if( repr == "DEL" && Std.getenv("TERM") != "dumb")
46 if( input.length() > 0)
48 chout <= "\033[1D\033[0K";
50 input.substring(0, input.length()-1) => input;