mirror of
https://github.com/showdownjs/showdown.git
synced 2024-03-22 13:30:55 +08:00
feat(CLI): add -q (quiet) and -m (mute) mode to CLI
-q supresses all normal messages from the output, but still reports errors. -m mutes all messages, even errors.
This commit is contained in:
parent
4d78633c4d
commit
f3b86f06cc
|
@ -12,6 +12,18 @@ yargs
|
|||
alias: 'help',
|
||||
description: 'Show help'
|
||||
})
|
||||
.option('q', {
|
||||
alias: 'quiet',
|
||||
description: 'Quiet mode. Only print errors',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
})
|
||||
.option('m', {
|
||||
alias: 'mute',
|
||||
description: 'Mute mode. Does not print anything',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
})
|
||||
.usage('Usage: showdown <command> [options]')
|
||||
.demand(1, 'You must provide a valid command')
|
||||
.command('makehtml', 'Converts markdown into html')
|
||||
|
|
|
@ -46,6 +46,18 @@ yargs.reset()
|
|||
alias : 'flavor',
|
||||
describe: 'Run with a predetermined flavor of options. Default is vanilla',
|
||||
type: 'string'
|
||||
})
|
||||
.option('q', {
|
||||
alias: 'quiet',
|
||||
description: 'Quiet mode. Only print errors',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
})
|
||||
.option('m', {
|
||||
alias: 'mute',
|
||||
description: 'Mute mode. Does not print anything',
|
||||
type: 'boolean',
|
||||
default: false
|
||||
});
|
||||
|
||||
// load showdown default options
|
||||
|
@ -70,7 +82,7 @@ function run() {
|
|||
* MSG object
|
||||
* @type {Messenger}
|
||||
*/
|
||||
messenger = new Messenger(msgMode),
|
||||
messenger = new Messenger(msgMode, argv.q, argv.m),
|
||||
read = (readMode === 'stdin') ? readFromStdIn : readFromFile,
|
||||
write = (writeMode === 'stdout') ? writeToStdOut : writeToFile,
|
||||
enc = argv.encoding || 'utf8',
|
||||
|
@ -106,8 +118,6 @@ function run() {
|
|||
// write the output
|
||||
messenger.printMsg('Writing data to ' + writeMode + '...');
|
||||
write(html, append);
|
||||
|
||||
messenger.printMsg('\n');
|
||||
messenger.okExit();
|
||||
|
||||
function parseOptions(flavor) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
function Messenger(writeMode, supress, mute) {
|
||||
'use strict';
|
||||
writeMode = writeMode || 'stderr';
|
||||
supress = !!supress;
|
||||
mute = (!!supress || !!mute);
|
||||
supress = (!!supress || !!mute);
|
||||
mute = !!mute;
|
||||
this._print = (writeMode === 'stdout') ? console.log : console.error;
|
||||
|
||||
this.errorExit = function (e) {
|
||||
|
@ -15,6 +15,7 @@ function Messenger(writeMode, supress, mute) {
|
|||
|
||||
this.okExit = function () {
|
||||
if (!mute) {
|
||||
this._print('\n');
|
||||
this._print('DONE!');
|
||||
}
|
||||
process.exit(0);
|
||||
|
|
|
@ -6,7 +6,7 @@ describe('showdown cli', function () {
|
|||
if (semver.gt(process.versions.node, '0.12.0')) {
|
||||
var execSync = require('child_process').execSync;
|
||||
it('basic stdin stdout', function () {
|
||||
var otp = execSync(cmd + ' makehtml', {
|
||||
var otp = execSync(cmd + ' makehtml -q', {
|
||||
encoding: 'utf8',
|
||||
input: '**foo**'
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user