123456789101112131415161718192021222324252627282930313233343536373839404142 |
- var Q = require('q');
- var path = require('path');
- var fs = require('graceful-fs');
- var cli = require('../util/cli');
- var createError = require('../util/createError');
- function help(logger, name) {
- 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, 'EUNKOWNCMD', {
- command: name
- });
- }
- return require(json);
- });
- }
- // -------------------
- help.line = function (logger, argv) {
- var options = cli.readOptions(argv);
- var name = options.argv.remain.slice(1).join(' ');
- return help(logger, name);
- };
- help.completion = function () {
- // TODO
- };
- module.exports = help;
|