-
* chore: update clang-tidy Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * refactor: address clang-tidy * fix: C++11 support Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * chore: two more clang-tidy fixes Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * fix: get_inject_separator should be bool * refactor: addressing review feedback Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by: Philip Top <phlptp@gmail.com> * Apply suggestions from code review * Update include/CLI/Config.hpp * Update include/CLI/Config.hpp * Update include/CLI/Config.hpp * Update include/CLI/Config.hpp Co-authored-by: Philip Top <phlptp@gmail.com>
-
* add a counting flag to address and issue with optional<bool> and make the flags more consistent * move the add_flag to a single operation and add a Sum multi option policy * style: pre-commit.ci fixes * remove sum_flag_vector overloads * style: pre-commit.ci fixes * add limits include * style: pre-commit.ci fixes * fix some other warnings * update docs describing the multi_option_policy * Apply suggestions from code review Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
* add tests which suppose to pass * Update ConfigFileTest.cpp * Update ConfigFileTest.cpp * style: pre-commit.ci fixes * add the possibility for an empty vector result if allowed. * style: pre-commit.ci fixes * add empty vector command line tests * update book and readme * add no default test Co-authored-by: puchneiner <90352207+puchneiner@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
* chore: use PyPI clang-format package, pinned * style: pre-commit.ci fixes * ci: drop unneeded job Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
* Add some missing modifiers on the options to the docs and clarify some of them. * style: pre-commit.ci fixes * add a more clear force callback and callback on parse modifier for options. * update the book with new modifiers * update documentation and add tests * style: pre-commit.ci fixes * more updates to the readme * update formatting * rework the trigger_on_parse to better support more complex option types * fix formatting errors * Update include/CLI/Option.hpp Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com> Co-authored-by: Henry Schreiner <henry.fredrick.schreiner@cern.ch>
-
* add a test for std::map * add some test of the relaxed naming and other checks * add validator for aliases, group names and option groups * add extra tests and update readme * style: pre-commit.ci fixes * update the book chapters * fix codacy issue * Apply suggestions from code review Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
* docs: fix some Codacity recommendations * chore: update copyright year * style: more codacity fixes * style: fix issues reported by Codacity
-
* refactor: new version of MakeSingleFiles * fix: use CMake and set version
-
* 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>
-
* Fix internal header include paths. The extra leading "CLI/" part of include directives prevents the inclusion of CLI.hpp from a relative directory without an extra -I or /I compiler directive. * Fix single header generation script. Files included with "" should be relative to the header file location first.
-
* Use e.get_name instead of dynamic_cast Also use std::static_pointer_cast instead of std::dynamic_pointer_cast Fixes #466 * feat: Allow RTTI to be turned off * ci: Fix CXX flags * doc: Adding update to book Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
-
* 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 copyright check * Remove old license message * Implement suggestions from code review
-
* Fix invalid callback calls for default_val Option function. the update adds a flag variable to control it, makes default_val exception safe and a template to convert from actual value types. * update readme and fix some compilation issues on older compilers * revert README.md with mistake erasures * Update README.md Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
-
Refactor some of the configuration file handling code. Make it easier to get the actual file that was processed, and allow extras in the config file to be ignored (default now), captured or errored. fix std::error reference and formatting add test for required but no default and fix a shadow warning on 'required' from gcc 4.8 Test correctness of config write-read loop fix config generation for flag definitions make the config output conform with toml continue work on the config file interpretation and construction get all the ini tests working again with the cleaned up features. update formatting rename IniTest to ConfigFileTest to better reflect actual tests and add a few more test of the configTOML disambiguate enable/disable by default to an enumeration, and to make room for a configurable option to allow subcommands to be triggered by a config file. add a ConfigBase class to generally reflect a broader class of configuration files formats of similar nature to INI files add configurable to app and allow it to trigger subcommands add test of ini formatting add section support to the config files so sections can be opened and closed and the callbacks triggered as appropriate. add handling of option groups to the config file output add subcommand and option group configuration to config file output subsubcom test on config files fix a few sign comparison warnings and formatting start working on the book edits for configuration and a few more tests more test to check for subcommand close in config files more tests for coverage generalize section opening and closing add more tests and some fixes for different configurations yet more tests of different situations related to configuration files test more paths for configuration file sections remove some unused code and fix some codacy warnings update readme with updates from configuration files more book edits and README formatting remove extra space Apply suggestions from code review Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com> fix some comments and documentation fix spacing Rename size_t -> std::size_t Fix compiler warnings with -Wsign-conversion Fix new warnings with -Wsign-conversion in PR
-
* Bug fix for issue 369. The default_val call was not resetting the option state after it had executed the callback and reset the results vector, allowing the possibility of an empty results getting passed to some conversions functions. * add the source and attribution of the new test * update formatting
-
* Clang-tidy fixes * Format * Satisfy pre-commit hooks * Fix getters to constref return * Final name getter as constref
-
* add ability to specify deprecated or retired options. * add retired example and tests * update some formatting and a few more test executions * fix formatting on retired.cpp * add another test to fill coverage gap for existing options that are being retired. * add example comments * Update readme with the descriptions of the new helper functions * fix space on readme * Apply suggestions from code review Co-Authored-By: Christoph Bachhuber <cbachhuber89@gmail.com> * add some flags to the code coverage report and update some names and add more descriptions to deprecated options * update formatting on App
-
* add expanded type_size specification * add some more checks for type_size_max * continued work on getting type sizes more flexible * make some more tweaks to option to split up validate and reduce sections * git rid of exceptions on the type_size functions exceptions, allow any number to be entered for the min and max and don't make a distinction between flags and other types. * add expected count * add the allow extra args flag in an option * start working in allow_extra_args * write some stuff in the book, and continue working on the failing test cases * fix a few more of the helpers tests * a few more test cases running * all tests pass, fixing calls in ini files * get vector<pair> working and all tests passing * change callback to use reference to remove allocation and copy operation * add support and test for vector<vector<X>> * change Validators_ to validators_ for consistency * fix linux warnings and errors by reording some templates and adding some typename keywords * add support for std::vector<X> as the cross conversion type so optional<std::vector<X>> is supported using the full template of add_option. * a few more test cases to take care of some coverage gaps * add missing parenthesis * add some more tests for coverage gaps * add test for flag like option * add transform test for `as<X>` function and make it pass through the defaults * add a few more tests and have vector default string interpreted correctly. * add test for defaulted integer, and route default string for defaulted value which would otherwise be empty * some code cleanup and comments and few more test coverage gap tests * add more tests and fix a few bugs on the type size and different code paths * remove path in results by fixing the clear of options so they go back to parsing state. * get coverage back to 100% * clang_tidy, and codacy fixes * reorder the lexical_conversion definitions * update some formatting * update whitespace on book chapter
-
* Return empty string in Option::get_name() for hidden options Fixes https://github.com/CLIUtils/CLI11/issues/332 * Remove to_lower() call * Formatting * Fix THelp.Hidden
-
* add a needs method to the app/subcommand * add some needs subcommand tests * add a few more subcommand tests for needs and alias * fix shadow warnings * add some tests of the error pathways and fix a few anomalous conditions on the Option excludes function * add needs and alias functions in the readme * add some tests of ignore_case and underscore with the alias operations * add a few more test cases for needs option groups * add callback tests with needs and add a few comments in the readme * update formatting * add error checks on the aliases and restrictions on valid names for subcommands and aliases * add checks for matching subcommands and improve error return values to include the offending name * add some tests of the alias errors * add some more tests to check subcommand name matching during addition * add some additional tests and remove a redundant chunk of codes * add some more checks of subcommand name overlap in option_groups * allow disabled subcommand to bypass name matching check
-
* 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
-
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
-
* 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
-
* 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)
-
* 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.
-
…ome cleanup in the README.md Apply suggestions from code review Co-Authored-By: phlptp <top1@llnl.gov> allow callbacks for option_groups, and allow some other characters as flags
-
rework return values from _parse_* function to return true if the value was processed false otherwise, this simplified the logic and got rid of the pulling and clearing of the missing fields from option groups. add TriggerOff and TriggerOn helper functions and some tests for them add shapes example of multiple callbacks in order. allow specification of callbacks that get executed immediately on completion of parsing of subcommand add tests for enabled/disabled by default add _get_fallthrough_parent. To get the most appropriate parent to fallthrough to add enabled and disabled by default functions add positional_arity example Add a pre_parse_callback_ for apps. The Pre parse callback takes an argument for the number of remaining arguments left to process, and will execute prior to parsing for subcommands, and after the first option parse for option_groups.
-
* add transform and checkedTransform tests add Transformer and CheckedTransformer validators * Eliminate the Validator description string, some code cleanup add tests Make Validators a full Object and remove friend, move to descriptions instead of overriding type name. update validators to actually merge the type strings and use all validators in the type outputs rework join so it works without the start variable, allow some forwarding references in the validator types, some tests for non-copyable maps, and transforms merge the search function and enable use of member search function, make the pair adapters forwarding instead of copying * add a few more tests and documentation fix some gcc 4.7 issues and add a few more test cases and more parts of the README Work on ReadMe and add Bound validator to clamp values * updates to README.md * Add some more in TOC of README and fix style in Option.hpp