2012-09-19 13:02:59 +08:00
|
|
|
/**
|
2017-12-21 14:19:10 +08:00
|
|
|
* command line tool
|
2014-02-13 15:10:09 +08:00
|
|
|
*
|
2017-12-21 14:19:10 +08:00
|
|
|
* @author Zongmin Lei<leizongmin@gmail.com>
|
2012-09-19 13:02:59 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
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');
|
|
|
|
|
|
2015-12-23 12:29:40 +08:00
|
|
|
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();
|
|
|
|
|
}
|
2012-09-19 13:02:59 +08:00
|
|
|
|
2015-12-23 12:29:40 +08:00
|
|
|
|
|
|
|
|
setPrompt(1);
|
2012-09-19 13:02:59 +08:00
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
}
|
2015-12-23 12:29:40 +08:00
|
|
|
setPrompt(html.length + 1);
|
2012-09-19 13:02:59 +08:00
|
|
|
});
|