33 lines
		
	
	
		
			1002 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1002 B
		
	
	
	
		
			V
		
	
	
module readline
 | 
						|
 | 
						|
#const $readline = require('readline')
 | 
						|
 | 
						|
struct Termios {}
 | 
						|
 | 
						|
// Only use standard os.get_line
 | 
						|
// Need implementation for readline capabilities
 | 
						|
//
 | 
						|
// read_line_utf8 blocks execution in a loop and awaits user input
 | 
						|
// characters from a terminal until `EOF` or `Enter` key is encountered
 | 
						|
// in the input stream.
 | 
						|
// read_line_utf8 returns the complete input line as an UTF-8 encoded `[]rune` or
 | 
						|
// an error if the line is empty.
 | 
						|
// The `prompt` `string` is output as a prefix text for the input capturing.
 | 
						|
// read_line_utf8 is the main method of the `readline` module and `Readline` struct.
 | 
						|
 | 
						|
pub fn (mut r Readline) read_line(prompt string) ?string {
 | 
						|
	res := ''
 | 
						|
	print(prompt)
 | 
						|
	#const rl = $readline.createInterface({input: $process.stdin,output: $process.stdout,prompt: prompt.str})
 | 
						|
	#rl.prompt()
 | 
						|
	#rl.on('line', function (ans) { rl.prompt(); res.str = ans; rl.close();})
 | 
						|
 | 
						|
	return res
 | 
						|
}
 | 
						|
 | 
						|
pub fn read_line(prompt string) ?string {
 | 
						|
	mut r := Readline{}
 | 
						|
	s := r.read_line(prompt)?
 | 
						|
	return s
 | 
						|
}
 |