Spaces:
Sleeping
Sleeping
; | |
var util = require('util'); | |
// Constants | |
var c = require('../const'); | |
var $$ = require('../utils'); | |
var HelpFormatter = require('./formatter.js'); | |
/** | |
* new RawDescriptionHelpFormatter(options) | |
* new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) | |
* | |
* Help message formatter which adds default values to argument help. | |
* | |
* Only the name of this class is considered a public API. All the methods | |
* provided by the class are considered an implementation detail. | |
**/ | |
function ArgumentDefaultsHelpFormatter(options) { | |
HelpFormatter.call(this, options); | |
} | |
util.inherits(ArgumentDefaultsHelpFormatter, HelpFormatter); | |
ArgumentDefaultsHelpFormatter.prototype._getHelpString = function (action) { | |
var help = action.help; | |
if (action.help.indexOf('%(defaultValue)s') === -1) { | |
if (action.defaultValue !== c.SUPPRESS) { | |
var defaulting_nargs = [ c.OPTIONAL, c.ZERO_OR_MORE ]; | |
if (action.isOptional() || (defaulting_nargs.indexOf(action.nargs) >= 0)) { | |
help += ' (default: %(defaultValue)s)'; | |
} | |
} | |
} | |
return help; | |
}; | |
module.exports.ArgumentDefaultsHelpFormatter = ArgumentDefaultsHelpFormatter; | |
/** | |
* new RawDescriptionHelpFormatter(options) | |
* new ArgumentParser({formatterClass: argparse.RawDescriptionHelpFormatter, ...}) | |
* | |
* Help message formatter which retains any formatting in descriptions. | |
* | |
* Only the name of this class is considered a public API. All the methods | |
* provided by the class are considered an implementation detail. | |
**/ | |
function RawDescriptionHelpFormatter(options) { | |
HelpFormatter.call(this, options); | |
} | |
util.inherits(RawDescriptionHelpFormatter, HelpFormatter); | |
RawDescriptionHelpFormatter.prototype._fillText = function (text, width, indent) { | |
var lines = text.split('\n'); | |
lines = lines.map(function (line) { | |
return $$.trimEnd(indent + line); | |
}); | |
return lines.join('\n'); | |
}; | |
module.exports.RawDescriptionHelpFormatter = RawDescriptionHelpFormatter; | |
/** | |
* new RawTextHelpFormatter(options) | |
* new ArgumentParser({formatterClass: argparse.RawTextHelpFormatter, ...}) | |
* | |
* Help message formatter which retains formatting of all help text. | |
* | |
* Only the name of this class is considered a public API. All the methods | |
* provided by the class are considered an implementation detail. | |
**/ | |
function RawTextHelpFormatter(options) { | |
RawDescriptionHelpFormatter.call(this, options); | |
} | |
util.inherits(RawTextHelpFormatter, RawDescriptionHelpFormatter); | |
RawTextHelpFormatter.prototype._splitLines = function (text) { | |
return text.split('\n'); | |
}; | |
module.exports.RawTextHelpFormatter = RawTextHelpFormatter; | |