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;