suddendeath
Version:
Ascii art of sudden death generator
106 lines (97 loc) • 2.83 kB
JavaScript
;
var
suddendeath = require('..');
var
text = [],
single = false, proportional = false,
flag = true;
process.argv.slice(2).forEach(function (arg) {
if (flag) {
if (/^--/.test(arg)) {
switch (arg) {
case '--help':
showHelp();
process.exit(0);
break;
case '--version':
showVersion();
process.exit(0);
break;
case '--single':
single = true;
break;
case '--proportional':
proportional = true;
break;
case '--':
flag = false;
break;
default:
console.error('Unrecognized option: ' + arg);
process.exit(1);
break;
}
} else if (/^-/.test(arg)) {
arg.slice(1).split('').forEach(function (a) {
switch (a) {
case 'h':
showHelp();
process.exit(0);
break;
case 'v':
showVersion();
process.exit(0);
break;
case 's':
single = true;
break;
case 'p':
proportional = true;
break;
default:
console.error('Unrecognized option: ' + arg);
process.exit(1);
}
});
} else {
text.push(arg);
flag = false;
}
} else {
text.push(arg);
}
});
if (text.length >= 1) {
text = text.join('\n');
} else {
text = undefined;
}
console.log(single ? suddendeath.single(text) : suddendeath(text, proportional));
function showHelp() {
console.log('suddendeath');
console.log(' Generate an ascii art of sudden death (突然の死).');
console.log('');
console.log('Usage');
console.log(' $ suddendeath {-spvh|--single|--proportional|--help|--version} [--] <text>...');
console.log('');
console.log('Options');
console.log(' -s, --single single line mode');
console.log(' -p, --proportional proportional font mode (only normal mode)');
console.log(' -h, --help show this help and exit');
console.log(' -v, --version show version and exit');
console.log(' -- after it, use as text');
console.log('');
console.log('Examples');
console.log(' $ suddendeath');
console.log(suddendeath().split('\n').map(function (l) { return ' ' + l; }).join('\n'));
console.log(' $ suddendeath -s');
console.log(suddendeath.single().split('\n').map(function (l) { return ' ' + l; }).join('\n'));
console.log(' $ suddendeath -p');
console.log(suddendeath(undefined, true).split('\n').map(function (l) { return ' ' + l; }).join('\n'));
console.log(' $ suddendeath 突然の 死');
console.log(suddendeath('突然の\n死').split('\n').map(function (l) { return ' ' + l; }).join('\n'));
}
function showVersion() {
console.log(require('../package.json').version);
}