1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-30 04:33:53 +00:00

106 Commits

Author SHA1 Message Date
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
c8bd97156b click-style boolean flags (#219)
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.
2019-02-09 23:51:38 +01:00
Fred Helmesjö
8d7aefe21f Added option description setter (#199)
* Added posibility to modify option description: Option::description(const std::string&).
Related: https://github.com/CLIUtils/CLI11/issues/193

* Return Option* from Option::description(...).
Format-fix to make clang-format happy.

* Fixing format

* Added posibility to modify app description: App::description(const std::string&).

* Fixing Style

* Update readme and changelog
2019-01-22 18:19:47 +01:00
Henry Schreiner
c65d9fdcb2
Dropping deprecated names (#192) 2019-01-13 13:52:42 +01:00
Philip Top
663d93c792 Clear up Wshadow warnings from gcc 4.9 (#191)
* Clear up Wshadow warnings from gcc 4.9.  Most of these were local variable names with the same name as a member function.
Also a few spelling fixes and adding some std::move around some of the arguments when appropriate.

* Touchup
2019-01-13 09:12:48 +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
Philip Top
a83109002c Add ignore underscore (#185)
* 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
2019-01-03 09:22:09 +01:00
Henry Schreiner
c3d8d4a2d0
Adding new parse layout (#178)
* Adding new parse layout

* Dropping shortcurcuit from help, since it has special override

* Refactor help call

* Dropping shortcurcuit since it is not needed now that help has custom behavoir

* Dropping MaxSubcommand error (cannot occur)
2019-01-02 22:16:42 +01:00
Henry Schreiner
a78f5bcdcf
Dropping links if option removed (#179) 2018-11-13 17:12:48 +01:00
Doug Johnston
8961df0e8b Work around Windows min/max macro problem 2018-07-06 10:54:56 +02:00
Henry Fredrick Schreiner
20c304fa01 Adding more documentation to fix some warnings 2018-07-01 10:21:22 +02:00
Henry Fredrick Schreiner
9d6830e8d2 Adding more to documentation 2018-07-01 09:04:38 +02:00
Henry Schreiner
4974afb49d Fix a minor best practices issue 2018-06-27 18:58:16 +02:00
Henry Fredrick Schreiner
a63609102a Support empty lambdas 2018-06-27 18:58:16 +02:00
Henry Fredrick Schreiner
3cb75b903e Correcting the logic for sized types in vectors 2018-06-26 18:15:17 +02:00
Henry Fredrick Schreiner
98b31d788b Adding tests and deprecation messages 2018-06-18 15:13:59 +02:00
Henry Schreiner
bf2bc39c30 Rename to set_* on options and add return this
Now use type_name and type_size instead of set_custom_option.
2018-06-18 15:13:59 +02:00
Henry Fredrick Schreiner
47d5ed1453 Adding each() 2018-05-10 18:49:38 +02:00
Henry Fredrick Schreiner
d46c2c5727 Adding Config class 2018-05-09 16:08:32 +02:00
Henry Fredrick Schreiner
aac957507d Adding short_circuit to simplify parse procedure 2018-05-09 16:08:32 +02:00
Henry Fredrick Schreiner
101d847c29 Use filter fn to simplify, sort includes 2018-05-06 18:36:33 +02:00
Henry Fredrick Schreiner
88521b58f8 Adding a few tools to make manual validation easier 2018-05-04 15:55:24 +02:00
Henry Fredrick Schreiner
f785046da6 Rename typeval to type_name to match API 2018-05-04 10:25:01 +02:00
Henry Fredrick Schreiner
b80a0046fc GCC 4.7 can't tell a function from a string. Separated and fixed. 2018-05-03 18:30:59 +02:00
Henry Fredrick Schreiner
e7483afc41 Adding functional form of Type printout 2018-05-03 18:30:59 +02:00
Henry Fredrick Schreiner
2b6b62c52c Adding smart validators 2018-05-03 17:04:13 +02:00
Henry Fredrick Schreiner
af2ed66d6e Just use Formatter
Removing OptionFormatter

Rename files

Rename to just Formatter

Remove OptionFormatMode (just needs a bool)

Renaming option functions on formatter
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
bc61342d8e
Removing requires (#112) 2018-04-25 18:33:43 -04:00
Henry Schreiner
12858075f7 Fixing CUDA NVCC 7.0 2018-04-19 04:58:15 -04:00
Henry Fredrick Schreiner
067bb43a84 Adding REQUIRED and Needs, using simple name more often 2018-04-12 08:34:22 +02:00
Henry Fredrick Schreiner
f059528559 Support for multi-size MultiOptionPolicies 2018-04-04 20:31:52 +02:00
Henry Fredrick Schreiner
447bda047f Adding size instead of expected + unchangable 2018-04-04 20:31:52 +02:00
Henry Fredrick Schreiner
43ec307781 Better message about optional test, warning suppression 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
368f2cd9a6 Fix for deprecated macro 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
11444a4e3a Updates to macros 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
db202b831e Factoring out C++ version check to Macros file 2018-04-04 18:29:32 +02:00
Henry Fredrick Schreiner
268c26ad62 Fix #64 by auto-adding symmetric excludes 2018-03-26 10:56:08 +02:00
Henry Schreiner
446524687a
Adding potential fix for a warning (#85) 2018-03-10 12:40:57 +01:00
Henry Schreiner
5186158442
Rename requires to needs (#82)
* Adding fix for #75, rename requires to needs

* Removing check for install commands (should still be run in subproject)
2018-03-08 11:48:40 +01:00
Henry Fredrick Schreiner
4dac11c025 Finishing addition of ->configurable() 2017-11-28 21:28:37 -05:00
Henry Fredrick Schreiner
c1fb53f00d Moving error messages definitions to Error.h 2017-11-28 21:28:37 -05:00
Henry Fredrick Schreiner
d6b983a2a7 Adding back short-cuts 2017-11-28 15:24:37 -05:00
Henry Fredrick Schreiner
954c93d585 Using more powerful policy system, to allow git-like -m options 2017-11-28 15:24:37 -05:00
Henry Fredrick Schreiner
fc69345f2f Improve one more message 2017-11-26 22:40:40 -05:00
Henry Fredrick Schreiner
f6c9ce6109 Moving code to Error, better ArgumentMismatch throwing 2017-11-26 15:11:48 -05:00
Henry Fredrick Schreiner
4d5bff2393 Adding ArgumentMismatch, changable improvement 2017-11-26 15:11:48 -05:00
Henry Fredrick Schreiner
3d309dc0be Adding fail if required values missing 2017-11-25 19:03:03 -05:00
Henry Fredrick Schreiner
44de4de118 Adding test, fixing option name to single name in message 2017-11-24 21:11:28 -05:00