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

60 Commits

Author SHA1 Message Date
Philip Top
6aa546fc42 merge upstream App (#246)
Make sure that nameless subcommands can handle subcommands and that App will treat subcommands in a group nearly the same as if they were in the in the app to begin with.
2019-03-02 12:14:58 +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
Philip Top
ed5cd89636 remove template for operator[] and adjust some tests
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
2019-02-23 07:40:41 +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
598046c397 Add unnamed subcommand (#216)
increment the parse_ variable on unnamed subcommands. 

update the readme, and add a formatter test for nameless subcommands in nondefault group with other named subcommands.

add a test of default arguments

add a formatter test

add tests for unnamed subcommands and an example of the partitioned subcommands.

change the app_p to be a shared_ptr so you can add an App later on and merge them together

add the ability to add unnamed subcommands that allow partitioning on options into multiple apps.
2019-02-06 10:27:06 +01:00
Henry Schreiner
b4910df3d7
Move to using literals in testing (#213) 2019-02-01 11:32:47 +01:00
Henry Schreiner
f932b51374
Touchupwin (#189)
* Move lambda funtion to real function

* Fix some warnings when compiling in LLVM

* Adding one test back in

* Adding details to changelog
2019-01-11 11:58:00 +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 Fredrick Schreiner
bd4dc91184 add extra test 2018-11-24 23:40:18 +02:00
Henry Fredrick Schreiner
85aa0e7813 Dropping last (required) usages of clear 2018-06-27 12:26:03 +02:00
Henry Fredrick Schreiner
8635c4d0eb Dropping reset in favor of clear 2018-06-27 12:26:03 +02:00
Henry Fredrick Schreiner
b2e471ac4d Removing set_ for failure_message, footer, name, and callback 2018-06-18 15:13:59 +02:00
Henry Fredrick Schreiner
101d847c29 Use filter fn to simplify, sort includes 2018-05-06 18:36:33 +02: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 Fredrick Schreiner
8f1215873c Allow -- to end unlimited options 2018-04-09 13:55:53 +02:00
Henry Fredrick Schreiner
0303929552 Adding tests for old behavior 2018-04-09 13:55:53 +02:00
Henry Fredrick Schreiner
67cd2e6345 Adding get_parent() 2017-12-12 15:19:32 -06:00
Henry Fredrick Schreiner
e2e88b78e0 Make unlimited arguments less grabby 2017-11-22 14:13:28 -05:00
Henry Fredrick Schreiner
bcbd8c862b Using -N for up-to N 2017-11-22 14:13:28 -05:00
Henry Fredrick Schreiner
65493d64fb Adding refactor of min/max for subcommand 2017-11-22 14:13:28 -05:00
Henry Fredrick Schreiner
9acaeebd1e Subcommand parse order corrected and preserved 2017-11-21 14:42:33 -05:00
Henry Fredrick Schreiner
512b3604e2 Fix spacing 2017-11-21 14:42:33 -05:00
Marcus Brinkmann
51c32efb7c Fix ExtrasError. 2017-11-21 14:42:33 -05:00
Marcus Brinkmann
852929f0f6 Support runtime errors. 2017-11-20 12:31:14 -05:00
Marcus Brinkmann
642a67034d Support groups for subcommands. 2017-11-20 11:39:51 -05:00
Henry Fredrick Schreiner
1b02682223 Adding some info to docs 2017-11-19 15:19:20 -05:00
Henry Fredrick Schreiner
89c57961f4 Adding more tests 2017-11-19 15:19:20 -05:00
Henry Fredrick Schreiner
59b6de2550 Dropping missing(), now implemented correctly 2017-11-19 15:19:20 -05:00
Henry Fredrick Schreiner
cb7c3ff85a Move to using remaining, drop return from parse 2017-11-19 15:19:20 -05:00
Henry Fredrick Schreiner
fc35014dad Adding remaining, only works on master app for now 2017-11-19 15:19:20 -05:00
Henry Schreiner
54114d0948 Travis improvements and updates (#28)
* Adding check for style

* Adding reformats

* Fix syntax error in travis

* Support clang-format 3.9

* Adding clang-tidy check
2017-09-01 16:51:09 -04:00
Henry Fredrick Schreiner
4dcab42bc7 Convincing myself that the errors are correct 2017-08-23 09:59:55 -07:00
Henry Fredrick Schreiner
de56a9c87a Fixing the foo foo problem 2017-08-23 09:41:45 -07:00
Henry Fredrick Schreiner
b480e2f163 Adding fix for #23; throws ExtraError instead of RequiredError?... 2017-08-22 22:35:37 -07:00
Henry Fredrick Schreiner
635eb65ace Prefix program support 2017-06-02 12:34:25 -04:00
Henry Fredrick Schreiner
27f718125d Reformat with clang-format 2017-05-31 12:03:05 -04:00
Henry Fredrick Schreiner
c8206bf400 Adding one final check for 100% coverage again 2017-04-23 14:40:22 -04:00
Henry Fredrick Schreiner
de432f6213 Adding ->parsed 2017-04-23 14:20:23 -04:00
Henry Fredrick Schreiner
cd98e70c9e Adding one more test 2017-04-23 14:06:58 -04:00
Henry Fredrick Schreiner
c289d941f9 Adding bool check for parsed subcommand 2017-04-23 13:38:38 -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
50ef31103f Adding a few fallthrough tests 2017-03-17 13:27:08 -04:00
Henry Fredrick Schreiner
21f9159750 Fix test and use got_subcom properly 2017-03-17 12:11:06 -04:00
Henry Fredrick Schreiner
c5582fe1a5 Adding test for got_subcom 2017-03-17 12:08:20 -04:00
Henry Fredrick Schreiner
dbe03bea95 Throw error if subcommand does not exist, better test 2017-03-15 09:22:45 -04:00
Henry Fredrick Schreiner
87185a1879 Adding callback success 2017-03-08 10:49:51 -05:00
Henry Fredrick Schreiner
3e8502bf43 Added OptionNotFound, correct throw on failed run 2017-03-08 09:50:15 -05:00
Henry Fredrick Schreiner
0a6863d528 A few more warning fixes, this time only in tests 2017-03-03 21:47:20 -05:00
Henry Fredrick Schreiner
e870e264c3 Info and examples 2017-03-02 12:38:45 -05:00