help.js 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var Q = require('q');
  2. var path = require('path');
  3. var fs = require('graceful-fs');
  4. var cli = require('../util/cli');
  5. var createError = require('../util/createError');
  6. function help(logger, name) {
  7. var json;
  8. if (name) {
  9. json = path.resolve(__dirname, '../../templates/json/help-' + name.replace(/\s+/g, '/') + '.json');
  10. } else {
  11. json = path.resolve(__dirname, '../../templates/json/help.json');
  12. }
  13. return Q.promise(function (resolve) {
  14. fs.exists(json, resolve);
  15. })
  16. .then(function (exists) {
  17. if (!exists) {
  18. throw createError('Unknown command: ' + name, 'EUNKOWNCMD', {
  19. command: name
  20. });
  21. }
  22. return require(json);
  23. });
  24. }
  25. // -------------------
  26. help.line = function (logger, argv) {
  27. var options = cli.readOptions(argv);
  28. var name = options.argv.remain.slice(1).join(' ');
  29. return help(logger, name);
  30. };
  31. help.completion = function () {
  32. // TODO
  33. };
  34. module.exports = help;