diff options
Diffstat (limited to 'node_modules/detect-indent/cli.js')
-rwxr-xr-x | node_modules/detect-indent/cli.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/node_modules/detect-indent/cli.js b/node_modules/detect-indent/cli.js new file mode 100755 index 000000000..0fb804e1a --- /dev/null +++ b/node_modules/detect-indent/cli.js @@ -0,0 +1,55 @@ +#!/usr/bin/env node +'use strict'; +var fs = require('fs'); +var stdin = require('get-stdin'); +var argv = require('minimist')(process.argv.slice(2)); +var pkg = require('./package.json'); +var detectIndent = require('./'); +var input = argv._[0]; + +function help() { + console.log([ + '', + ' ' + pkg.description, + '', + ' Usage', + ' detect-indent <file>', + ' echo <string> | detect-indent', + '', + ' Example', + ' echo \' foo\\n bar\' | detect-indent | wc --chars', + ' 2' + ].join('\n')); +} + +function init(data) { + var indent = detectIndent(data).indent; + + if (indent !== null) { + process.stdout.write(indent); + } else { + console.error('Indentation could not be detected'); + process.exit(2); + } +} + +if (argv.help) { + help(); + return; +} + +if (argv.version) { + console.log(pkg.version); + return; +} + +if (process.stdin.isTTY) { + if (!input) { + help(); + return; + } + + init(fs.readFileSync(input, 'utf8')); +} else { + stdin(init); +} |