UNPKG

1.33 kBPlain TextView Raw
1#!/usr/bin/env node
2var args = require('nopt')({
3 lang: String,
4 debug: Boolean,
5 version: Boolean,
6 languages: Boolean,
7 help: Boolean
8}, {
9 h: '--help',
10 v: '--version',
11 l: '--lang'
12}, process.argv);
13
14var read = require('../lib/read');
15var hicat = require('../index');
16
17if (args.help) {
18 console.log([
19 'Usage:',
20 ' hicat [options] FILE',
21 ' ... | hicat [options]',
22 '',
23 'Options:',
24 ' -h, --help print usage information',
25 ' -v, --version show version info and exit',
26 ' -l, --lang TYPE use a given language',
27 ' --languages list available languages',
28 ].join('\n'));
29 process.exit(0);
30}
31
32if (args.version) {
33 console.log(require('../package.json').version);
34 process.exit(0);
35}
36
37if (args.debug) {
38 process.env.HICAT_DEBUG = true;
39}
40
41if (args.languages) {
42 console.log(hicat.listLanguages().sort().join("\n"));
43 process.exit(0);
44}
45
46read.from(args.argv.remain, function (err, files) {
47 if (err) throw err;
48
49 for (var fname in files) {
50 if (!files.hasOwnProperty(fname)) continue;
51 var data = files[fname];
52 var output = hicat(data, { filename: fname, lang: args.lang });
53 if (process.env.HICAT_DEBUG) {
54 console.log({ language: output.language });
55 }
56 process.stdout.write(output.ansi);
57 }
58});
59