You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					46 lines
				
				842 B
			
		
		
			
		
	
	
					46 lines
				
				842 B
			| 
								 
											3 years ago
										 
									 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * command line tool
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @author Zongmin Lei<leizongmin@gmail.com>
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var xss = require("./");
							 | 
						||
| 
								 | 
							
								var readline = require("readline");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var rl = readline.createInterface({
							 | 
						||
| 
								 | 
							
								  input: process.stdin,
							 | 
						||
| 
								 | 
							
								  output: process.stdout,
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								console.log('Enter a blank line to do xss(), enter "@quit" to exit.\n');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function take(c, n) {
							 | 
						||
| 
								 | 
							
								  var ret = "";
							 | 
						||
| 
								 | 
							
								  for (var i = 0; i < n; i++) {
							 | 
						||
| 
								 | 
							
								    ret += c;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return ret;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function setPrompt(line) {
							 | 
						||
| 
								 | 
							
								  line = line.toString();
							 | 
						||
| 
								 | 
							
								  rl.setPrompt("[" + line + "]" + take(" ", 5 - line.length));
							 | 
						||
| 
								 | 
							
								  rl.prompt();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								setPrompt(1);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var html = [];
							 | 
						||
| 
								 | 
							
								rl.on("line", function (line) {
							 | 
						||
| 
								 | 
							
								  if (line === "@quit") return process.exit();
							 | 
						||
| 
								 | 
							
								  if (line === "") {
							 | 
						||
| 
								 | 
							
								    console.log("");
							 | 
						||
| 
								 | 
							
								    console.log(xss(html.join("\r\n")));
							 | 
						||
| 
								 | 
							
								    console.log("");
							 | 
						||
| 
								 | 
							
								    html = [];
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    html.push(line);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  setPrompt(html.length + 1);
							 | 
						||
| 
								 | 
							
								});
							 |