corrade-nucleus-nucleons – Blame information for rev 36

Subversion Repositories:
Rev:
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))