mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 10:45:22 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
#!/usr/bin/env node
 | 
						|
var which = require("../")
 | 
						|
if (process.argv.length < 3)
 | 
						|
  usage()
 | 
						|
 | 
						|
function usage () {
 | 
						|
  console.error('usage: which [-as] program ...')
 | 
						|
  process.exit(1)
 | 
						|
}
 | 
						|
 | 
						|
var all = false
 | 
						|
var silent = false
 | 
						|
var dashdash = false
 | 
						|
var args = process.argv.slice(2).filter(function (arg) {
 | 
						|
  if (dashdash || !/^-/.test(arg))
 | 
						|
    return true
 | 
						|
 | 
						|
  if (arg === '--') {
 | 
						|
    dashdash = true
 | 
						|
    return false
 | 
						|
  }
 | 
						|
 | 
						|
  var flags = arg.substr(1).split('')
 | 
						|
  for (var f = 0; f < flags.length; f++) {
 | 
						|
    var flag = flags[f]
 | 
						|
    switch (flag) {
 | 
						|
      case 's':
 | 
						|
        silent = true
 | 
						|
        break
 | 
						|
      case 'a':
 | 
						|
        all = true
 | 
						|
        break
 | 
						|
      default:
 | 
						|
        console.error('which: illegal option -- ' + flag)
 | 
						|
        usage()
 | 
						|
    }
 | 
						|
  }
 | 
						|
  return false
 | 
						|
})
 | 
						|
 | 
						|
process.exit(args.reduce(function (pv, current) {
 | 
						|
  try {
 | 
						|
    var f = which.sync(current, { all: all })
 | 
						|
    if (all)
 | 
						|
      f = f.join('\n')
 | 
						|
    if (!silent)
 | 
						|
      console.log(f)
 | 
						|
    return pv;
 | 
						|
  } catch (e) {
 | 
						|
    return 1;
 | 
						|
  }
 | 
						|
}, 0))
 |