• * 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>
    Philip Top authored
     
    Browse File »

  • * 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>
    Philip Top authored
     
    Browse File »



  • * 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>
    Philip Top authored
     
    Browse File »

  • * 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>
    Philip Top authored
     
    Browse File »





  • 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.
    Philip Top authored
     
    Browse File »


  • * 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>
    Philip Top authored
     
    Browse File »

  • * spelling: argument
    
    * spelling: conflicts
    
    * spelling: correctly
    
    * spelling: default
    
    * spelling: description
    
    * spelling: empty
    
    * spelling: enum
    
    * spelling: javascript
    
    * spelling: modifying
    
    * spelling: nonexistent
    
    * spelling: plumbum
    
    * spelling: programmatically
    
    * spelling: received
    
    * spelling: replaced
    
    * spelling: required
    
    * spelling: sanitizers
    
    * spelling: semicolon
    
    * spelling: source
    
    * spelling: subcommands
    
    * spelling: successful
    Josh Soref authored
     
    Browse File »

  • * 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>
    Philip Top authored
     
    Browse File »


  • 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
    Philip Top authored
     
    Browse File »

  • * 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
    Philip Top authored
     
    Browse File »