27 lines
		
	
	
		
			558 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			558 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const rl = require("readline").createInterface({
 | |
| 	  input: process.stdin,
 | |
| 	  output: process.stdout,
 | |
| });
 | |
| 
 | |
| const { writeFile } = require('fs/promises');
 | |
| 
 | |
| const question = (query) =>
 | |
| 	  new Promise((resolve) => rl.question(query, (answer) => resolve(answer)));
 | |
| 
 | |
| async function main() {
 | |
| 	while (true) {
 | |
| 		let input = await question('>');
 | |
| 		if (input == null || input == '.quit') {
 | |
| 			console.log('end');
 | |
| 			return;
 | |
| 		}
 | |
| 		let name = input.match(/^([^\:]+):/)[1];
 | |
| 		if (!input.endsWith('\n')) {
 | |
| 			input += '\n';
 | |
| 		}
 | |
| 		await writeFile(name, input);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| main();
 |