corrade-nucleus-nucleons – Blame information for rev 36
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
36 | office | 1 | #!/usr/bin/env node |
2 | var which = require("../") |
||
3 | if (process.argv.length < 3) |
||
4 | usage() |
||
5 | |||
6 | function usage () { |
||
7 | console.error('usage: which [-as] program ...') |
||
8 | process.exit(1) |
||
9 | } |
||
10 | |||
11 | var all = false |
||
12 | var silent = false |
||
13 | var dashdash = false |
||
14 | var args = process.argv.slice(2).filter(function (arg) { |
||
15 | if (dashdash || !/^-/.test(arg)) |
||
16 | return true |
||
17 | |||
18 | if (arg === '--') { |
||
19 | dashdash = true |
||
20 | return false |
||
21 | } |
||
22 | |||
23 | var flags = arg.substr(1).split('') |
||
24 | for (var f = 0; f < flags.length; f++) { |
||
25 | var flag = flags[f] |
||
26 | switch (flag) { |
||
27 | case 's': |
||
28 | silent = true |
||
29 | break |
||
30 | case 'a': |
||
31 | all = true |
||
32 | break |
||
33 | default: |
||
34 | console.error('which: illegal option -- ' + flag) |
||
35 | usage() |
||
36 | } |
||
37 | } |
||
38 | return false |
||
39 | }) |
||
40 | |||
41 | process.exit(args.reduce(function (pv, current) { |
||
42 | try { |
||
43 | var f = which.sync(current, { all: all }) |
||
44 | if (all) |
||
45 | f = f.join('\n') |
||
46 | if (!silent) |
||
47 | console.log(f) |
||
48 | return pv; |
||
49 | } catch (e) { |
||
50 | return 1; |
||
51 | } |
||
52 | }, 0)) |