• * 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>
    Henry Schreiner 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 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.
    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 »




  • * Make CI fail with readability-container-size-empty flag
    
    * Make CI fail with cppcoreguidelines-owning-memory flag
    
    * Add all google checks, exclude specific ones
    
    * Apply clang-tidy fixes
    
    * Make timer constructors explicit
    
    * Add check for unscoped namespaces
    
    * Replace unscoped namespace by using-declaration
    
    * Replace unscoped namespace by using-declaration
    Christoph Bachhuber 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 »
  • Henry Schreiner 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 »

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

  • * 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
    Henry Schreiner authored
     
    Browse File »
  • * [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
    Viacheslav Kroilov authored
     
    Browse File »



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

  • add some comments in readME about performance
    
    move operator[] to return const Option *
    
    Apply suggestions from code review
    
    Co-Authored-By: phlptp <top1@llnl.gov>
    
    update readme and add some IniTests and fix a bug from the tests
    
    add_flag_callback
    
    add a few tests to capture the different paths
    
    fix incorrectly updated CMAKE file, and add some subcommand test for option finding
    
    add disable_flag_override and work out some kinks in the find option functions
    
    add some more tests and fix a few bugs in as<> function for options
    
    Allow general flag types and default values, add shortcut notation for retrieving values
    Philip Top authored
     
    Browse File »


  • * Adding first draft of Sets
    
    Use IsMember now
    
    Using IsMember as backend for Set
    
    Non-const validator backend
    
    Move set tests to set
    
    Clearer inits
    
    * Drop shortcut
    
    Tighten up classes a bit for MSVC
    
    Check with GCC 4.8 too
    
    * Simpler templates, but more of them
    
    Dropping more type safety for older compilers
    
    Shortcut string set
    
    * Adding shortcut init
    
    Making g++ 4.7 docker image happy
    
    Fix Clang tidy issue with last commit
    
    Adding one more shortcut, adding a couple of tests
    
    * Dropping dual pointer versions of code
    
    * Smarter shortcut syntax
    
    * Adding slighly faster choices
    
    * Cleanup to make InMember simpler
    
    * Drop choices for now, adding some tests
    
    * ValidationError is now always the error from a validator
    
    * Support for other types of initializer lists, including enums
    
    * Factor out type utilities, single version of IsMember code
    
    * Adding a few tests for #224
    
    * Minor cleanup for Validation Error
    
    * Adding tests, moved deprecated tests
    
    * Docs updates
    Henry Schreiner authored
     
    Browse File »

  • Updates to the readme
    
    update the readme with some documentation
    
    add a few more tests to complete code coverage
    
    update with count strings in flags instead an array of strings for each count
    
    add the '!' shortcut notation.  add some checks on the help output
    
    allow the false flag syntax to support --option{false}
    
    add a bool lexical cast to make everything consistent when converting to a bool.  Moved a few functions around
    
    make the command line behave like the INI file wrt flags, flag options are allowed to process the value so `--flag=false` actually does the expected thing.
    
    Add functionality similar to click style argument that allow specifying a false flag that when used generates a false result on the flag.
    Philip Top authored
     
    Browse File »






  • * add Tests and ability to handle program file inclusion in the single string.
    
    add the ability to deal with a single string in the parse command and handle quoted string appropriately
    
    * Add extra test cases for full coverage, clear up escape quote sequencing and handling of extra spaces
    Philip Top authored
     
    Browse File »

  • * add ignore_underscore test cases and options to app
    
    * add ignore_underscore for add_sets and some more tests for the sets and subcommands
    
    * add some documentation lines and some failing tests
    
    * update readme with ignore_underscore option
    
    * remove failing tests from known issue
    
    * remove empty line for code coverage
    Philip Top authored
     
    Browse File »



  • in progress: formatters
    
    Getting closer
    
    Working on apps
    
    One test actually runs
    
    All builds, added filter functions
    
    Reverting a few behavours as needed
    
    Repairs
    
    All tests pass
    
    Fixing error with adding help flag
    
    Labels are simpler mappings, normalized setters
    
    Adding help_all
    
    Adding a few more tests
    
    One more line tested
    
    Adding one more check
    
    Adding to readme
    
    Simplify naming
    
    Adding default constructors
    
    Fixing spacing issues with subcommand all printout
    
    Adding a couple of tests
    Henry Fredrick Schreiner authored
     
    Browse File »