Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
When combined with --long-usage, it makes CLI generate both short
and long usage printing code.
|
|
|
|
|
|
|
|
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.
|
|
New include-path prefixes, c++: and cli:, are now recognized (e.g.,
include <cli:foo>;). Without a prefix, the include declarations is
considered to be c++-include unless the path ends with the .cli
extension.
The cli-included files are loaded and parsed. Currently, only inclusion
relative to the current file is supported. Duplicate inclusions are
detected and ignored based on the absolute filesystem path.
If a file cli-includes another file, then the runtime code is assumed
to come from the included file and is not generated.
|
|
|
|
New option: --generate-description.
|
|
|
|
These functions determine whether the option was specified on the command
line. New test: specifier.
|
|
|
|
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.
|
|
This will allow supporting other sources of options, for example, an
option file.
|
|
|
|
Also migrate the CLI compiler usage handling to the auto-generated version.
|
|
|
|
Also generate some runtime support code such exceptions, value
parsers, etc.
|
|
|
|
All they currently do is output the namespace structure plus the
included C++ files for header.
|