40 lines
949 B
JavaScript
40 lines
949 B
JavaScript
var Q = require('q');
|
|
var path = require('path');
|
|
var fs = require('../util/fs');
|
|
var createError = require('../util/createError');
|
|
|
|
function help(logger, name, config) {
|
|
var json;
|
|
|
|
if (name) {
|
|
json = path.resolve(__dirname, '../templates/json/help-' + name.replace(/\s+/g, '/') + '.json');
|
|
} else {
|
|
json = path.resolve(__dirname, '../templates/json/help.json');
|
|
}
|
|
|
|
return Q.promise(function (resolve) {
|
|
fs.exists(json, resolve);
|
|
})
|
|
.then(function (exists) {
|
|
if (!exists) {
|
|
throw createError('Unknown command: ' + name, 'EUNKNOWNCMD', {
|
|
command: name
|
|
});
|
|
}
|
|
|
|
return require(json);
|
|
});
|
|
}
|
|
|
|
// -------------------
|
|
|
|
help.readOptions = function (argv) {
|
|
var cli = require('../util/cli');
|
|
var options = cli.readOptions(argv);
|
|
var name = options.argv.remain.slice(1).join(' ');
|
|
|
|
return [name];
|
|
};
|
|
|
|
module.exports = help;
|