* Add configuration output multi-line description tests
This adds tests for the application's description as well as option
groups and subcommands.
See #592.
* Fix commenting of configuration output multi-line descriptions
* Fix excessive call to subcommand's final_callback
When parse_complete_callback_ is set there is an extra call to
run_callback() inside the App::_parse(std::vector<std::string>&) method.
This extra call also excessively calls a final_callback_ (when it is
also set) for the command and (since it is recursive) for it's
subcommands.
This commit adds extra boolean parameter for the run_callback() method
allowing to explicitly suppress calling to final_callback_. The value of
this parameter is also propagated to recursive calls to run_callback().
Fixes#572
* fix: main app should run final_callback, add tests
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
add a test for char options
add support for char types to the lexical cast, to allow single character types that make sense, add a integral_conversion operations to simplify the conversions from string to integers and allow discrimination in a few cases with enumerations.
* Added an option to change the text between definition and description
* Added test and readme
* Update Option.hpp
Fixed shadowing issue
* style: fix formatting
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
* Add a dedicated version option to CLI11 to facilitate use of version flags, similar to help flags
* add some test for the version flag
* update errors and formatting
* clear up gcc 4.8 warnings
* add a few more tests
* fix compiler error
* fix a few comments, and change default version flag to only use "--version"
* remove `version` calls and tests
* formatting and add `std::string version()` back in.
* Update options.md book chapter and the readme to better reflect current usage and the modifications to the add_options templates.
add support in add_option for wrapper types, such as std::optional, boost::optional or other types with a value_type trait. Add support for generalized containers beyond vector, add support for nested tuples and vectors, and complex numbers directly in add_option. This includes several new type traits and object categories.
Upgrade the google test version to better support templated tests.
add support for vector argument separator `%%`
* update formatting to match recent changes
* Apply suggestions from code review
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* add a get_single_name function for options, and allow short names to be used for configuration output.
* add config input to handle short and positional options
* add some tests about short options and positional options in config files
* allow use of envname_ in config files
* update doc book and readme with fixes
* formatting update
* some formatting updates
* add some notes on the config file generation
* just try modifying a comment
* Add whitespace/comments check
* Adapt spacing in clang-format
* Fix cpplint whitespace/comments issues
* Grammar
* Do not use clang-format for comment spacing
* Fix with clang-format pre-commit hook
* add a variant of the string conversions for the default string operations. Discriminate between the is_convertible and is_constructible type traits for object.
* update the test to test the different situations with the funny string like type
* work on the flags book chapter and making sure the values are initialized properly.
* Fix initialization of values used in flags or options
* update some formatting and more brace initialization
* update more formatting and fix a incorrect initializer
* more formatting and some error fixes
* more formatting
* Small formatting fix
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Add std checking and try to fix filesystem being used on macOS 10.14
* Adding extra check recommeded by @phlptp
* suppress the double to int warning in msvc 2019 in the optional test
Co-authored-by: Philip Top <top1@llnl.gov>