summaryrefslogtreecommitdiff
path: root/cli/options.cxx
AgeCommit message (Collapse)AuthorFilesLines
2020-04-27Separate tests and examples into individual packagesKaren Arutyunov1-2146/+0
Also make cli module to be explicitly enabled via the config.cli configuration variable.
2020-04-21Add metadataBoris Kolpackov1-6/+16
2020-03-27Regenerate options parsing codeBoris Kolpackov1-5/+31
2019-07-27Add support for direct file loading with argv_file_scannerBoris Kolpackov1-1/+2
2019-07-27Add support for option merging (--generate-merge)Boris Kolpackov1-0/+10
2019-04-02Handle combined option values in argv_file_scannerBoris Kolpackov1-34/+46
Turns out we cannot just pass them along as combined because of quoting. While at it, also add support for quoting non-option arguments.
2018-07-07Add optional message to invalid_option exceptionBoris Kolpackov1-0/+3
2018-04-01Implement combined flags (-xyz vs -x -y -z) and values (--foo=bar) supportBoris Kolpackov1-39/+179
Both are enabled by default but can be disable with --no-combined-flags and --no-combined-values options.
2018-03-24Return bool from parse() indicating whether anything has been parsedBoris Kolpackov1-3/+10
2018-03-24Add --keep-separator optionBoris Kolpackov1-0/+10
2018-03-21Implement group_scannerBoris Kolpackov1-0/+10
2018-03-21Guarantee validity of values returned by scanner for two argumentsBoris Kolpackov1-3/+3
2016-11-15Start switch to build2Boris Kolpackov1-1/+1
2016-09-03Add --omit-link-check optionBoris Kolpackov1-0/+11
2016-06-20Support suppressing CLI runtime generation (--suppress-cli)Boris Kolpackov1-0/+11
This is useful in pure-help pages.
2016-02-12Add support for generating vector<string> scanner (--generate-vector-scanner)Boris Kolpackov1-0/+10
2016-02-11Add support for re-mapping HTML headingsBoris Kolpackov1-4/+25
2016-02-01Add support for link transformation (--link-regex)Boris Kolpackov1-0/+30
2016-01-18Stop quoting \c in plain textBoris Kolpackov1-15/+15
The recommended approach is to quote manually and only values that can be genuinely confused for being part of the text. For example, '-', '/', etc.
2016-01-18Initial support for plain text documentation (--generate-txt)Boris Kolpackov1-4/+105
Support for option documentation generation is still a TODO.
2016-01-11Add support for --output-{prefix,suffix} optionsBoris Kolpackov1-0/+36
2015-12-09Add --std option with c++{98,11,14} values; use function-static in C++11Boris Kolpackov1-0/+18
This way we can use option descriptions during static initialization (e.g., of an Apache module).
2015-11-24Implement --class-doc optionBoris Kolpackov1-2/+20
2015-11-24Implement support for documentation inside classesBoris Kolpackov1-2/+11
2015-11-23Add --include-base-last optionBoris Kolpackov1-0/+11
2015-11-19Implement entire page usage generationBoris Kolpackov1-56/+361
2015-11-18Add support for ANSI colorization of usage outputBoris Kolpackov1-1/+11
2015-11-16Support specifying documentation variables on command linedocBoris Kolpackov1-94/+95
2015-09-02Add --generate-parse optionBoris Kolpackov1-0/+11
When specified, CLI will generate parse() functions instead of parsing constructors. This is primarily useful for being able to parse into an already initialized options class instance, for example, to implement merging/overriding.
2015-09-02Add --short-usage optionBoris Kolpackov1-1/+24
When combined with --long-usage, it makes CLI generate both short and long usage printing code.
2012-06-20Add ability to specify prologues/epilogues for generated C++ filesBoris Kolpackov1-14/+190
Also add options to specify text prologues/epilogues in addition to files for generated man and html files.
2012-06-20Rename --*logue options to --*logue-fileBoris Kolpackov1-50/+50
2012-06-15Add support for specifying output stream type (--stream-type)Boris Kolpackov1-0/+12
2012-05-11Add support for specifying multiple classes with --class optionBoris Kolpackov1-2/+2
2012-05-11Add support for -I optionBoris Kolpackov1-0/+13
Now quote-included ("") option files are searched for relative to the including file while bracket-included (<>) ones are search in the directories specified with -I.
2012-05-10Implement option class inheritanceBoris Kolpackov1-24/+114
For now multiple, non-virtual inheritance is supported. An option class can now also be declared abstract using the class c = 0 {...}; syntax. New option, --exclude-base, controls whether base class information is present in usage and documentation.
2011-01-04Cosmetic changesBoris Kolpackov1-1/+3
2010-11-19Add option description that can be examined at runtime.Boris Kolpackov1-0/+10
New option: --generate-description.
2010-11-09Add support for suppressing documentation for undocumented optionsBoris Kolpackov1-32/+67
2010-09-14Implement the --cli-namespace optionBoris Kolpackov1-57/+44
2010-06-04Add support for single quotes in option filesBoris Kolpackov1-2/+3
2010-06-02Update description of the --options-file optionBoris Kolpackov1-2/+33
2010-06-02Implement generation of specifier functions (--generate-specifier)Boris Kolpackov1-0/+10
These functions determine whether the option was specified on the command line. New test: specifier.
2009-12-13Mark 'stdout' as a reserved nameBoris Kolpackov1-6/+6
On some platforms (e.g., Windows/VC++ 8.0) stdout is a macro.
2009-12-10Allows additional options to be provided in files (--options-file)Boris Kolpackov1-5/+195
Implemented using the new argv_file_scanner scanner implementation.
2009-12-10Scanner-based parsing with support for element erasingBoris Kolpackov1-10/+74
Also implement argv_file_scanner which provides support for reading command line arguments from the argv array as well as files specified with command line options. New examples: file. New tests: ctor, erase, file.
2009-11-28Use a scanner interface instead of argc/argvBoris Kolpackov1-68/+125
This will allow supporting other sources of options, for example, an option file.
2009-11-22Implement option value modifiers generationBoris Kolpackov1-0/+9
2009-11-17Complete the implementation of the option documentationBoris Kolpackov1-21/+86
Add the man page generator. Port CLI usage, HTML documentation and the man page to the auto-generated version. Update examples and documentation.
2009-11-08Implement HTML pages generationBoris Kolpackov1-0/+41