1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-29 12:13:52 +00:00

35 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
571fb07cfb Add a ! operator to Validators for checking a false condition (#230) 2019-02-20 19:15:34 +01:00
Henry Schreiner
17d05b000c
Adding map support to IsMember (#228)
* Adding first draft of mapping

* IsMember now supports maps

* Adding example, better Val combs, and cleanup

* Reversing order of map, adding pair support

* Check/Transform suppport for Validators

* Adding enum tools from @phlptp, more tests
2019-02-20 17:17:51 +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
3d7de7d25c Add documentation for positionals_at_end documentation clarification on some of the validators (#223)
Add a flag that specifies that positional options can only occur as the last arguments of a command line.  Will generate an ExtrasError if all positional arguments are not captured, regardless of the state of allow_extras.
2019-02-12 09:43:41 +01:00
Henry Fredrick Schreiner
23802ea123 Fix some text from last PR 2019-02-01 09:58:05 +01:00
Rafi Wiener
d3c3a4c58f add validator for ip address and positive number 2019-02-01 00:43:26 +01:00
Philip Top
ce6dc0723e add options to handle windows style command line options (#187)
* add some fields and functions for windows like options
add test cases for windows options and refactor for additional string functions

* try to fix code coverage to 100% again.  add some additional documentation and a few additional test cases to verify documentation

* remove some extra brackets
2019-01-10 23:07:17 +01:00
Henry Fredrick Schreiner
20c304fa01 Adding more documentation to fix some warnings 2018-07-01 10:21:22 +02:00
Henry Fredrick Schreiner
101d847c29 Use filter fn to simplify, sort includes 2018-05-06 18:36:33 +02:00
Henry Fredrick Schreiner
3ff6fcae4e Dropping unneeded static keywords 2018-05-04 16:25:16 +02:00
Henry Fredrick Schreiner
2b6b62c52c Adding smart validators 2018-05-03 17:04:13 +02:00
Lucas Czech
7868dc9f6c Add path exists validator. 2018-01-07 22:35:01 +01:00
Henry Fredrick Schreiner
85857d99e1 Return string for error message in validators 2017-11-24 21:11:28 -05:00
Henry Fredrick Schreiner
038eafed29 Adding test and keeping validator API similar 2017-11-24 21:11:28 -05:00
Henry Fredrick Schreiner
3006f82bf6 Making validators run before and with a reference 2017-11-24 21:11:28 -05:00
Henry Fredrick Schreiner
916cde58cf BSD licence, preparing for 1.0 release 2017-06-01 09:23:04 -04:00
Henry Fredrick Schreiner
27f718125d Reformat with clang-format 2017-05-31 12:03:05 -04:00
Henry Fredrick Schreiner
f24561f460 Explicit casts 2017-05-31 11:28:46 -04:00
Henry Fredrick Schreiner
60934c8a27 Fixing include order 2017-05-31 10:59:25 -04:00
Henry Fredrick Schreiner
c94aa406a6 Fixing namespace endings 2017-05-31 10:50:16 -04:00
Henry Schreiner
1e627bfcf2 Include missing inlines to allow linking 2017-03-31 15:26:30 -04:00
Henry Fredrick Schreiner
1619e863a2 Fixing name CLIUtils 2017-03-25 16:54:57 -04:00
Henry Fredrick Schreiner
e29bd785c6 Change CLTools -> CLITools 2017-03-23 16:11:54 -04:00
Henry Fredrick Schreiner
cb2646a56c Moving to new location 2017-03-23 15:55:23 -04:00
Henry Fredrick Schreiner
e23f56551d Adding Validator tests, fixed a bug 2017-03-08 08:25:10 -05:00
Henry Fredrick Schreiner
ad1bd262b5 Trying to fix linker errors 2017-02-19 15:23:28 -05:00
Henry Fredrick Schreiner
2170b60cc7 Windows fixes 2017-02-19 15:19:49 -05:00
Henry Fredrick Schreiner
8725de6706 Fixes to enable windows compat 2017-02-19 15:08:09 -05:00
Henry Fredrick Schreiner
bf0b18a9f4 After discussion, LGPL seems to be the correct license 2017-02-17 19:58:06 -05:00
Henry Fredrick Schreiner
ce6c942008 Adding doxygen docs 2017-02-15 09:35:54 -05:00
Henry Fredrick Schreiner
15c6ee5f3d Added Range and ValidationError, Refactor throwing errors to Option instead of App for Validation 2017-02-13 16:28:35 -05:00
Henry Fredrick Schreiner
905c23bcd0 Change license 2017-02-12 13:01:43 -05:00
Henry Fredrick Schreiner
960cc104db Adding error messages on failed conversion 2017-02-09 13:43:32 -05:00
Henry Fredrick Schreiner
494a65f812 Dropping Make syntax, moving to pointers from combiners, structured errors.
This mostly is cleanup, with fewer alternative methods and more standard syntax, avoiding the use of the namespace all the time. Validators are simpler and are added through `->check()`.

Defaults are automatic, and can be specified with a final arg to the options.

Expected arguments and required arguments are now accessed through a pointer to option.

Option now can be checked as a bool to see if the argument was passed.

Errors have better organisation.
2017-02-06 20:52:12 -05:00