You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							985 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							985 B
						
					
					
				
								#!/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))
							 | 
						|
								
							 |