 isDir  = require './isDir'
+
+commands = # some static value args
+  # quiet means we won't write out options and results to the console
+  '--quiet' : (op) -> op.quiet = true
+
+  # showgen means write out the generated input file, if there is one
+  '-showgen': (op) -> op.showGeneratedInput = true
+
+  # dryrun means we don't do the browserifying, but, we output the options
+  # and the generated file (if showgen is also set).
+  '--dryrun': (op) -> op.dryrun = true
+
+  # output the generated source map
+  '--map': (op) -> op.map = true ; op.options.debug = true
+
+  # if it's 'not' then we are doing excludes
+  'not'     : (_, info) -> info.include = false
+
+# short aliases
+commands['-q'] = commands['--quiet']
+commands['-g'] = commands['--showgen']
+commands['-m'] = commands['--map']
 
 module.exports = (op, info, options) ->
 

    # if it's a file ending with '.json' then it's the options file
    else if arg[-5...] is '.json' then info.optionsFile = arg

    # if it's 'not' then we are doing excludes
    else if arg is 'not' then info.include = false

    else if arg in ['-q', '--quiet'] then op.quiet = true

    else if arg in ['-g', '--showgen'] then op.showGeneratedInput = true

    # else it's a module name for either include/exclude
    else
      info.include ?= true # optional because if we saw `not` then it's false already
      # split off the variable name from the end, if it's there
      split = arg.split '#'
      # if there are slashes (a path into the module) get the first part as the name
      moduleName = split[0].split(/\\|\//)[0]
      # store in `exin` to use when generating input, and outputting info to console
      info.exin[moduleName] = path:split[0], varName:split?[1]



    # stop when we see --
    if '--' is arg then break

    # if it's an existing directory then it's our basedir
    else if isDir arg then op.options.basedir = arg

