cli.js 908 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env node
  2. 'use strict';
  3. var stdin = require('get-stdin');
  4. var argv = require('minimist')(process.argv.slice(2));
  5. var pkg = require('./package.json');
  6. var indentString = require('./');
  7. var input = argv._;
  8. function help() {
  9. console.log([
  10. '',
  11. ' ' + pkg.description,
  12. '',
  13. ' Usage',
  14. ' indent-string <string> [--indent <string>] [--count <number>]',
  15. ' cat file.txt | indent-string > indented-file.txt',
  16. '',
  17. ' Example',
  18. ' indent-string "$(printf \'Unicorns\\nRainbows\\n\')" --indent ♥ --count 4',
  19. ' ♥♥♥♥Unicorns',
  20. ' ♥♥♥♥Rainbows'
  21. ].join('\n'));
  22. }
  23. function init(data) {
  24. console.log(indentString(data, argv.indent || ' ', argv.count));
  25. }
  26. if (argv.help) {
  27. help();
  28. return;
  29. }
  30. if (argv.version) {
  31. console.log(pkg.version);
  32. return;
  33. }
  34. if (process.stdin.isTTY) {
  35. if (!input) {
  36. help();
  37. return;
  38. }
  39. init(input[0]);
  40. } else {
  41. stdin(init);
  42. }