1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-01 13:13:53 +00:00

38 Commits

Author SHA1 Message Date
Philip Top
e9934e058d add transformer and checkedTransformer (#239)
* 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
2019-03-02 12:24:26 +01:00
Philip Top
0631189b4d Option groups (#227)
* change the move function to _move_option and add an additional test

add a validation check on min options to make sure it is even possible to succeed.

add some additional tests to cover code paths and potential errors.

add a number of additional tests and checks and fix some issues with the add function in option_groups

clean up example and help formatting

add option_groups example to play with

move create_option_group to a member function using a dummy template

add some optionGroup tests

add min and max options calls and an associated Error call

* add ranges example,  add excludes to app for options and subcommands.

* add some tests on ranges, and some subcommand tests with exclusion

* add tests in optionGroups for some invalid inputs

* add required option to subcommands and option_groups

* add disabled flag

* add disable option to subcommands and some more tests

* start work on ReadMe modifications

* update the readme with descriptions of function and methods added for option_groups

* clear up gcc 4.7 warnings

* some update to the Readme and a few more warnings fixed

* Minor readme touchup
2019-03-01 17:43:08 +01:00
Henry Schreiner
5e0bb1c8da
Fix Boost CMake (#226)
* Fixing typos in FindBoost

* Minimum required Boost is actually 1.61
2019-02-19 14:08:36 +01:00
Henry Schreiner
c9123811d1
CLI::IsMember (#222)
* 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
2019-02-19 09:56:02 +01:00
Philip Top
7cd04e3b65 Fixes some cmake issues when using earlier cmake versions specifically Boost::boost is not defined before boost 3.5.2 so 3.4 doesn't work. also the AND condition for MSVC didn't work on older cmake 2019-01-31 19:05:55 +01:00
Henry Fredrick Schreiner
2c024401cc Minor touch up after #186 2019-01-06 10:46:12 +01:00
Philip Top
30c2e327d1 Add single string parsing (#186)
* 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
2019-01-06 10:30:49 +01:00
Henry Schreiner
73411e1e38
Minor build system improvements (#154) 2018-08-01 11:36:13 +02:00
Henry Fredrick Schreiner
f6e1b8d7aa Adding windows test 2018-07-06 10:54:56 +02:00
Henry Fredrick Schreiner
98b31d788b Adding tests and deprecation messages 2018-06-18 15:13:59 +02:00
Henry Fredrick Schreiner
89975e51e7 Updating coverage 2018-04-30 08:17:31 -04:00
Henry Fredrick Schreiner
952f2913e3 First attempt at formatter (app and option)
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
2018-04-30 08:17:31 -04:00
Henry Schreiner
a061275eba
Moving to submodules, adding sanitizer (#111) 2018-04-25 18:57:21 -04:00
Henry Schreiner
2d6581a394 Boost Optional before 1.58 is too buggy to support 2018-04-18 18:11:11 -04:00
Henry Fredrick Schreiner
de06d50f34 Adding better boost testing on old compilers 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
20b7232c47 Fix for Windows MSVC 2017 and GoogleTest 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
17437921c0 Adding more informational printouts 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
39e777392d Adding informational printout to ctest 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
d2d4f07fd4 Dropping CLI_ in favor of CLI11_ everywhere 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
5c0d6617d5 Adding optional test 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
bea833bbcd Adding and fixing more warnings 2018-03-26 11:48:23 +02:00
Henry Fredrick Schreiner
8e87df2a6c Adding GTest improvments 2017-11-21 21:28:32 -05:00
Henry Fredrick Schreiner
774bb5d05f Cleaner IDE folder structure 2017-06-02 09:03:38 -04:00
Henry Fredrick Schreiner
9a526377ea Testing for duplicate symbol errors 2017-03-31 16:00:18 -04:00
Henry Fredrick Schreiner
ee9219e0f8 Adding warnings and fixes, CLI11 target, support for VIM Syntastic 2017-03-27 13:53:57 -04:00
Henry Fredrick Schreiner
480d8b38ae Adding test for adding new parser 2017-03-23 10:26:54 -04:00
Henry Fredrick Schreiner
a0b10b4c50 Adding timer 2017-03-22 10:40:00 -04:00
Henry Fredrick Schreiner
81f58c130a Fixing for IDE builds 2017-02-24 13:16:11 -05:00
Henry Fredrick Schreiner
e63898df9f Throw errors for duplicate subcommand names, with ignore case too 2017-02-20 15:31:58 -05:00
Henry Fredrick Schreiner
2b40b8cbd3 Removing automatic testing with single file, kept on travis 2017-02-14 12:26:07 -05:00
Henry Fredrick Schreiner
83eb7eb84b Splitting up tests 2017-02-12 16:18:53 -05:00
Henry Fredrick Schreiner
b774c57dc2 Adding help testing, option groups 2017-02-11 09:38:35 -05:00
Henry Fredrick Schreiner
aac712b754 Adding ini parser, cleanup test CMake 2017-02-09 17:18:24 -05:00
Henry Fredrick Schreiner
ee5678562f Adding tools to build with python 3.6 directly 2017-02-06 11:51:06 -05:00
Henry Fredrick Schreiner
4b0f6dbfd6 Nicer adding of tests 2017-01-27 10:26:52 -05:00
Henry Fredrick Schreiner
3eac26e2e1 Adding DownloadProject to cmake 2017-01-27 09:40:45 -05:00
Henry Fredrick Schreiner
1b2af21a2d Added more tests, some fixes 2017-01-26 17:09:56 -05:00
Henry Fredrick Schreiner
d070f32ed6 Adding cmake, tests 2017-01-26 16:48:30 -05:00