.
This commit is contained in:
		
							
								
								
									
										257
									
								
								qwen/nodejs/node_modules/argparse/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										257
									
								
								qwen/nodejs/node_modules/argparse/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,257 @@
 | 
			
		||||
argparse
 | 
			
		||||
========
 | 
			
		||||
 | 
			
		||||
[](http://travis-ci.org/nodeca/argparse)
 | 
			
		||||
[](https://www.npmjs.org/package/argparse)
 | 
			
		||||
 | 
			
		||||
CLI arguments parser for node.js. Javascript port of python's
 | 
			
		||||
[argparse](http://docs.python.org/dev/library/argparse.html) module
 | 
			
		||||
(original version 3.2). That's a full port, except some very rare options,
 | 
			
		||||
recorded in issue tracker.
 | 
			
		||||
 | 
			
		||||
**NB. Difference with original.**
 | 
			
		||||
 | 
			
		||||
- Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/).
 | 
			
		||||
- Use `defaultValue` instead of `default`.
 | 
			
		||||
- Use `argparse.Const.REMAINDER` instead of `argparse.REMAINDER`, and
 | 
			
		||||
  similarly for constant values `OPTIONAL`, `ZERO_OR_MORE`, and `ONE_OR_MORE`
 | 
			
		||||
  (aliases for `nargs` values `'?'`, `'*'`, `'+'`, respectively), and
 | 
			
		||||
  `SUPPRESS`.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Example
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
test.js file:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var ArgumentParser = require('../lib/argparse').ArgumentParser;
 | 
			
		||||
var parser = new ArgumentParser({
 | 
			
		||||
  version: '0.0.1',
 | 
			
		||||
  addHelp:true,
 | 
			
		||||
  description: 'Argparse example'
 | 
			
		||||
});
 | 
			
		||||
parser.addArgument(
 | 
			
		||||
  [ '-f', '--foo' ],
 | 
			
		||||
  {
 | 
			
		||||
    help: 'foo bar'
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
parser.addArgument(
 | 
			
		||||
  [ '-b', '--bar' ],
 | 
			
		||||
  {
 | 
			
		||||
    help: 'bar foo'
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
parser.addArgument(
 | 
			
		||||
  '--baz',
 | 
			
		||||
  {
 | 
			
		||||
    help: 'baz bar'
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
var args = parser.parseArgs();
 | 
			
		||||
console.dir(args);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Display help:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ ./test.js -h
 | 
			
		||||
usage: example.js [-h] [-v] [-f FOO] [-b BAR] [--baz BAZ]
 | 
			
		||||
 | 
			
		||||
Argparse example
 | 
			
		||||
 | 
			
		||||
Optional arguments:
 | 
			
		||||
  -h, --help         Show this help message and exit.
 | 
			
		||||
  -v, --version      Show program's version number and exit.
 | 
			
		||||
  -f FOO, --foo FOO  foo bar
 | 
			
		||||
  -b BAR, --bar BAR  bar foo
 | 
			
		||||
  --baz BAZ          baz bar
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Parse arguments:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ ./test.js -f=3 --bar=4 --baz 5
 | 
			
		||||
{ foo: '3', bar: '4', baz: '5' }
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
More [examples](https://github.com/nodeca/argparse/tree/master/examples).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ArgumentParser objects
 | 
			
		||||
======================
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
new ArgumentParser({parameters hash});
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Creates a new ArgumentParser object.
 | 
			
		||||
 | 
			
		||||
**Supported params:**
 | 
			
		||||
 | 
			
		||||
- ```description``` - Text to display before the argument help.
 | 
			
		||||
- ```epilog``` - Text to display after the argument help.
 | 
			
		||||
- ```addHelp``` - Add a -h/–help option to the parser. (default: true)
 | 
			
		||||
- ```argumentDefault``` - Set the global default value for arguments. (default: null)
 | 
			
		||||
- ```parents``` - A list of ArgumentParser objects whose arguments should also be included.
 | 
			
		||||
- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘)
 | 
			
		||||
- ```formatterClass``` - A class for customizing the help output.
 | 
			
		||||
- ```prog``` - The name of the program (default: `path.basename(process.argv[1])`)
 | 
			
		||||
- ```usage``` - The string describing the program usage (default: generated)
 | 
			
		||||
- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals.
 | 
			
		||||
 | 
			
		||||
**Not supported yet**
 | 
			
		||||
 | 
			
		||||
- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Details in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
addArgument() method
 | 
			
		||||
====================
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
ArgumentParser.addArgument(name or flag or [name] or [flags...], {options})
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Defines how a single command-line argument should be parsed.
 | 
			
		||||
 | 
			
		||||
- ```name or flag or [name] or [flags...]``` - Either a positional name
 | 
			
		||||
  (e.g., `'foo'`), a single option (e.g., `'-f'` or `'--foo'`), an array
 | 
			
		||||
  of a single positional name (e.g., `['foo']`), or an array of options
 | 
			
		||||
  (e.g., `['-f', '--foo']`).
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
 | 
			
		||||
- ```action``` - The basic type of action to be taken when this argument is encountered at the command line.
 | 
			
		||||
- ```nargs```- The number of command-line arguments that should be consumed.
 | 
			
		||||
- ```constant``` - A constant value required by some action and nargs selections.
 | 
			
		||||
- ```defaultValue``` - The value produced if the argument is absent from the command line.
 | 
			
		||||
- ```type``` - The type to which the command-line argument should be converted.
 | 
			
		||||
- ```choices``` - A container of the allowable values for the argument.
 | 
			
		||||
- ```required``` - Whether or not the command-line option may be omitted (optionals only).
 | 
			
		||||
- ```help``` - A brief description of what the argument does.
 | 
			
		||||
- ```metavar``` - A name for the argument in usage messages.
 | 
			
		||||
- ```dest``` - The name of the attribute to be added to the object returned by parseArgs().
 | 
			
		||||
 | 
			
		||||
Details in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Action (some details)
 | 
			
		||||
================
 | 
			
		||||
 | 
			
		||||
ArgumentParser objects associate command-line arguments with actions.
 | 
			
		||||
These actions can do just about anything with the command-line arguments associated
 | 
			
		||||
with them, though most actions simply add an attribute to the object returned by
 | 
			
		||||
parseArgs(). The action keyword argument specifies how the command-line arguments
 | 
			
		||||
should be handled. The supported actions are:
 | 
			
		||||
 | 
			
		||||
- ```store``` - Just stores the argument’s value. This is the default action.
 | 
			
		||||
- ```storeConst``` - Stores value, specified by the const keyword argument.
 | 
			
		||||
  (Note that the const keyword argument defaults to the rather unhelpful None.)
 | 
			
		||||
  The 'storeConst' action is most commonly used with optional arguments, that
 | 
			
		||||
  specify some sort of flag.
 | 
			
		||||
- ```storeTrue``` and ```storeFalse``` - Stores values True and False
 | 
			
		||||
  respectively. These are special cases of 'storeConst'.
 | 
			
		||||
- ```append``` - Stores a list, and appends each argument value to the list.
 | 
			
		||||
  This is useful to allow an option to be specified multiple times.
 | 
			
		||||
- ```appendConst``` - Stores a list, and appends value, specified by the
 | 
			
		||||
  const keyword argument to the list. (Note, that the const keyword argument defaults
 | 
			
		||||
  is None.) The 'appendConst' action is typically used when multiple arguments need
 | 
			
		||||
  to store constants to the same list.
 | 
			
		||||
- ```count``` - Counts the number of times a keyword argument occurs. For example,
 | 
			
		||||
  used for increasing verbosity levels.
 | 
			
		||||
- ```help``` - Prints a complete help message for all the options in the current
 | 
			
		||||
  parser and then exits. By default a help action is automatically added to the parser.
 | 
			
		||||
  See ArgumentParser for details of how the output is created.
 | 
			
		||||
- ```version``` - Prints version information and exit. Expects a `version=`
 | 
			
		||||
  keyword argument in the addArgument() call.
 | 
			
		||||
 | 
			
		||||
Details in [original action guide](http://docs.python.org/dev/library/argparse.html#action)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Sub-commands
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
ArgumentParser.addSubparsers()
 | 
			
		||||
 | 
			
		||||
Many programs split their functionality into a number of sub-commands, for
 | 
			
		||||
example, the svn program can invoke sub-commands like `svn checkout`, `svn update`,
 | 
			
		||||
and `svn commit`. Splitting up functionality this way can be a particularly good
 | 
			
		||||
idea when a program performs several different functions which require different
 | 
			
		||||
kinds of command-line arguments. `ArgumentParser` supports creation of such
 | 
			
		||||
sub-commands with `addSubparsers()` method. The `addSubparsers()` method is
 | 
			
		||||
normally called with no arguments and returns an special action object.
 | 
			
		||||
This object has a single method `addParser()`, which takes a command name and
 | 
			
		||||
any `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object
 | 
			
		||||
that can be modified as usual.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
sub_commands.js
 | 
			
		||||
```javascript
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var ArgumentParser = require('../lib/argparse').ArgumentParser;
 | 
			
		||||
var parser = new ArgumentParser({
 | 
			
		||||
  version: '0.0.1',
 | 
			
		||||
  addHelp:true,
 | 
			
		||||
  description: 'Argparse examples: sub-commands',
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var subparsers = parser.addSubparsers({
 | 
			
		||||
  title:'subcommands',
 | 
			
		||||
  dest:"subcommand_name"
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var bar = subparsers.addParser('c1', {addHelp:true});
 | 
			
		||||
bar.addArgument(
 | 
			
		||||
  [ '-f', '--foo' ],
 | 
			
		||||
  {
 | 
			
		||||
    action: 'store',
 | 
			
		||||
    help: 'foo3 bar3'
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
var bar = subparsers.addParser(
 | 
			
		||||
  'c2',
 | 
			
		||||
  {aliases:['co'], addHelp:true}
 | 
			
		||||
);
 | 
			
		||||
bar.addArgument(
 | 
			
		||||
  [ '-b', '--bar' ],
 | 
			
		||||
  {
 | 
			
		||||
    action: 'store',
 | 
			
		||||
    type: 'int',
 | 
			
		||||
    help: 'foo3 bar3'
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
var args = parser.parseArgs();
 | 
			
		||||
console.dir(args);
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Details in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Contributors
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
- [Eugene Shkuropat](https://github.com/shkuropat)
 | 
			
		||||
- [Paul Jacobson](https://github.com/hpaulj)
 | 
			
		||||
 | 
			
		||||
[others](https://github.com/nodeca/argparse/graphs/contributors)
 | 
			
		||||
 | 
			
		||||
License
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin).
 | 
			
		||||
Released under the MIT license. See
 | 
			
		||||
[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user