Adding pre-commit files
GitHub actions, and Python 3 on Travis
Fix missing pip
Adding pre-commit instructions
Using bionic
Fix
Drop extra parts, add pip
Setuptools
* fix signed mismatch
add test from readme about callbacks
update callback documentation,
add a subbcommand immediate_callback test
add third callback and readme update
* a few more updates to the readme on `immediate_callback`
* Apply suggestions from code review
Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
remove restrictions on tuple size, and add some additional tests and modified documentation
fix some issues with the negative number check
add some test for indexed validation on tuple
allow specific validators for specific elements in a type with multiple values, or to just apply to the last given argument
fix incorrect parenthesis
update some clang-tidy fixes mainly else after return but a few conversions from into to bool
add extra newline before footer
add an extra field to the extra Error
add a footer callback for help operations
* add some tests with default capture on the two parameter template and some notes about it in the README.md
remove the test from visual studio 2015
vs2015 doesn't seem to properly deal with is_assignable in the cases we care about so make a standalone version that is more direct in what we are doing
add version to appveyor and add some notes to the readme
fix a few test cases to make sure code is covered and test a few other paths
remove unneeded enum streaming operator
add some diagnostic escapes around trait code to eliminate gcc Wnarrowing warnings
work specification of the template operations
remove optional add some templates for options conversions
add the two parameter template for add_option
* Fix some comments from Code review and add more description
* start work on trying to clean up the type traits for which lexical cast overload to use
* fix readme issue and make the condition tests a little clearer
* add a check for out of range errors on boolean conversions
* Fix capitalization and some comments on option functions
* Allow immediate_callback on the main app to run the main app callback prior to named subcommand callbacks, and reflect this change in the a new test and docs.
* add a is_tuple_like trait, and type_count structure for getting the number of elements to require
* add lexical conversion functions for tuples and other types
* remove the separate vector option and option function
* test out the type names for tuples
* add some more lexical conversion functions and test
* more work on tuples and tests
* fix some merge warnings
* fix some typename usage and c++14 only constructs
* tweak some of the template to remove undefined references
* add extra static assert about is_tuple_like
* fix some undefined references in clang
* move around some of the type_count templates to be used in the type_name functions
* move the type_count around and add some additional checks on the classification
* add some info to the readme
* add a check loop for missing required positional, when the number of arguments get small.
* fix a few warnings on signed/unsigned checks
* add check for a required positional vector.
This cleans up the type checking a bit and makes it more readable, along with some other cleanup.
* start work on trying to clean up the type traits for which lexical cast overload to use
* fix readme issue and make the condition tests a little clearer
* add a check for out of range errors on boolean conversions
* Fix capitalization and some comments on option functions
* fix a few code analysis warnings for VS2019
* change the checked_multiply function to not use undefined behavior to check for potential undefined behavior and wrapping.
* update the checked_multiply template to deal with mismatched sign in signed numbers and min val correctly. This involved adding to templates to clear up warnings
* add some tests with default capture on the two parameter template and some notes about it in the README.md
remove the test from visual studio 2015
vs2015 doesn't seem to properly deal with is_assignable in the cases we care about so make a standalone version that is more direct in what we are doing
add version to appveyor and add some notes to the readme
fix a few test cases to make sure code is covered and test a few other paths
remove unneeded enum streaming operator
add some diagnostic escapes around trait code to eliminate gcc Wnarrowing warnings
work specification of the template operations
remove optional add some templates for options conversions
add the two parameter template for add_option
* Fix some comments from Code review and add more description
* fix case when string_view doesn't work to append to a string.
* This PR also addressed #300
* modify lexical_cast to take const std::string &, instead of by value to allow string_view in a few cases
* meson: Basic meson support
With this patch, CLI11 can be used as a meson
subproject: http://mesonbuild.com/Subprojects.html
However, CMake is still required for testing and
installation. The current meson.build is not a
complete replacement.
* meson: Added meson test
* Adding Azure test
* Allow immediate_callback on the main app to run the main app callback prior to named subcommand callbacks, and reflect this change in the a new test and docs.
* Update README.md
Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Fixing some warnings
* Make gtest a system library
* Fixing format
* Adding better method for adding warnings
* Nicer Windows deprecated test
* JSON update and drop testing timer
* Warnings as errors everywhere
* [WIP] Initial implementation
* Add mapping validation
* More documentation
* Add support for floats in checked_multiply and add tests
* Place SuffixedNumber declaration correctly
* Add tests
* Refactor SuffixedNumber
* Add as size value
* Update README
* SFINAE for checked_multiply()
* Mark ctors as explicit
* Small fixes
* Clang format
* Clang format
* Adding GCC 4.7 support
* Rename SuffixedNumber to AsNumberWithUnit
* build-testing better supported
* Add formatting to Azure
* Adding more jobs to Azure
* Control
* Allow libc++ to be used on linux
* Fix modernize message
* Fix variable
* fixup! Fix modernize message
* Drop auto exp. optional
* Update readme, better user id in docker
* Fix BUILD_TESTING
* Drop format from travis, leave tidy for now
* Check tidy and format
* Tidy fully on Azure now
* Start adding a description of the various examples to the README
* add an examples segment to the readme describing the different examples
* add a reserve operation when constructing vector from argc and argv
* First streaming version
* Using to_string instead
* Switching to new backend
* Moving to capture function for defaults
* Rename capture_default + _str
* defaultval -> default_str, added always_capture_default
* Fix style
* Adding tests and docs to readme
* Dropping macOS on Travis (supported through Azure)
* add a function to get the remaining arguments in a valid order for parse. and add rvalue reference overloads for parse and _parse so args is not refilled if not needed.
* check a few more tests and verify ExtrasError works on parse(rValue vector)
remove impossible to reach branches in _parse function
* add callback_passthrough example and tests
* some tweaks with optional
* remove set_results function that was bypassing some of the result processing in some cases of config files.
* add positional Validator example and tests add CLI::Number validator.
* add positional Validator example and tests add CLI::Number validator.
* do some reformatting for style checks and remove auto in test lambda.
add some test of the remove_excludes functions
add test for Issue #256
add remove_subcommand fail test
add remove_subcommand function and add_subcommand to option_group and some tests associated with them.
Allow option groups to use ignore_case ignore_underscore for inheritance
Allow option groups to specify allow_extras even if the parent app doesn't in which case extra options flow down into the option_group.