123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- 'use strict';
- 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;
|