blob: e77a4d94cd1fcc214babbd2ae4c71da7438b9d72 [file] [log] [blame]
# subarg
parse arguments with recursive contexts using
[minimist](https://npmjs.org/package/minimist)
[![testling badge](https://ci.testling.com/substack/subarg.png)](https://ci.testling.com/substack/subarg)
[![build status](https://secure.travis-ci.org/substack/subarg.png)](http://travis-ci.org/substack/subarg)
This module is useful if you need to pass arguments into a piece of code without
coordinating ahead of time with the main program, like with a plugin system.
# example
``` js
var subarg = require('subarg');
var argv = subarg(process.argv.slice(2));
console.log(argv);
```
Contexts are denoted with square brackets:
```
$ node example/show.js rawr --beep [ boop -a 3 ] -n4 --robots [ -x 8 -y 6 ]
{ _: [ 'rawr' ],
beep: { _: [ 'boop' ], a: 3 },
n: 4,
robots: { _: [], x: 8, y: 6 } }
```
# methods
``` js
var subarg = require('subarg')
```
## var argv = subarg(args, opts)
Parse the arguments array `args`, passing `opts` to
[minimist](https://npmjs.org/package/minimist).
An opening `[` in the `args` array creates a new context and a `]` closes a
context. Contexts may be nested.
# install
With [npm](https://npmjs.org) do:
```
npm install subarg
```
# license
MIT