You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,8 @@ Passing the same subcommand multiple times is better supported. Several new feat
7
7
* Added `parse(string)` to split up and parse a command-line style string directly. [#186]
8
8
* Added `ignore_underscore` and related functions, to ignore underscores when matching names. [#185]
9
9
* The default INI Config will now add quotes to strings with spaces [#195]
10
-
* The default message now will mention the help--all flag also if present [#197]
10
+
* The default message now will mention the help-all flag also if present [#197]
11
+
* Added `->description` to set Option descriptions [#199]
11
12
* Subcommands now track how many times they were parsed in a parsing process. `count()` with no arguments will return the number of times a subcommand was encountered. [#179]
12
13
* Parsing is now done in phases: `shortcurcuits`, `ini`, `env`, `callbacks`, and `requirements`; all subcommands complete a phase before moving on. [#179]
13
14
* Calling parse multiple times is now officially supported without `clear` (automatic). [#179]
@@ -26,6 +27,7 @@ Passing the same subcommand multiple times is better supported. Several new feat
* Internally, `type_name` is now a lambda function; for sets, this reads the set live. [#116]
130
+
* Internally, `type_name` is now a lambda function; for sets, this reads the set live. [#116]
129
131
* Cleaner tests without `app.reset()` (and `reset` is now `clear`). [#141]
130
132
* Better CMake policy handling. [#110]
131
133
* Includes are properly sorted. [#120]
@@ -221,7 +223,7 @@ This version adds lots of smaller fixes and additions after the refactor in vers
221
223
* Added `ExistingPath` validator [#73]
222
224
*`app.allow_ini_extras()` added to allow extras in INI files [#70]
223
225
* Multiline INI comments now supported
224
-
* Descriptions can now be written with `config_to_str`[#66]
226
+
* Descriptions can now be written with `config_to_str`[#66]
225
227
* Double printing of error message fixed [#77]
226
228
* Renamed `requires` to `needs` to avoid C++20 keyword [#75], [#82]
227
229
* MakeSingleHeader now works if outside of git [#78]
@@ -260,7 +262,7 @@ favorite CLI programs. Error messages and help messages are better and more flex
260
262
* Footers can be added to help [#42](https://github.com/CLIUtils/CLI11/pull/42)
261
263
* Help flags are easier to customize [#43](https://github.com/CLIUtils/CLI11/pull/43)
262
264
* Subcommand now support groups [#46](https://github.com/CLIUtils/CLI11/pull/46)
263
-
*`CLI::RuntimeError` added, for easy exit with error codes [#45](https://github.com/CLIUtils/CLI11/pull/45)
265
+
*`CLI::RuntimeError` added, for easy exit with error codes [#45](https://github.com/CLIUtils/CLI11/pull/45)
264
266
* The clang-format script is now no longer "hidden" [#48](https://github.com/CLIUtils/CLI11/pull/48)
265
267
* The order is now preserved for subcommands (list and callbacks) [#49](https://github.com/CLIUtils/CLI11/pull/49)
266
268
* Tests now run individually, utilizing CMake 3.10 additions if possible [#50](https://github.com/CLIUtils/CLI11/pull/50)
@@ -277,7 +279,7 @@ favorite CLI programs. Error messages and help messages are better and more flex
277
279
* Allow options to be disabled from INI file, rename `add_config` to `set_config`[#60](https://github.com/CLIUtils/CLI11/pull/60)
278
280
279
281
> ### Converting from CLI11 1.2:
280
-
>
282
+
>
281
283
> *`app.parse` no longer returns a vector. Instead, use `app.remaining(true)`.
282
284
> *`"hidden"` is no longer a special group name, instead use `""`
283
285
> * Validators API has changed to return an error string; use `.empty()` to get the old bool back
@@ -302,8 +304,8 @@ This release focuses on making CLI11 behave properly in corner cases, and with c
302
304
This release incorporates feedback from the release announcement. The examples are slowly being expanded, some corner cases improved, and some new functionality for tricky parsing situations.
303
305
304
306
* Added simple support for enumerations, allow non-printable objects [#12](https://github.com/CLIUtils/CLI11/issues/12)
305
-
* Added `app.parse_order()` with original parse order ([#13](https://github.com/CLIUtils/CLI11/issues/13), [#16](https://github.com/CLIUtils/CLI11/pull/16))
306
-
* Added `prefix_command()`, which is like `allow_extras` but instantly stops and returns. ([#8](https://github.com/CLIUtils/CLI11/issues/8), [#17](https://github.com/CLIUtils/CLI11/pull/17))
307
+
* Added `app.parse_order()` with original parse order ([#13](https://github.com/CLIUtils/CLI11/issues/13), [#16](https://github.com/CLIUtils/CLI11/pull/16))
308
+
* Added `prefix_command()`, which is like `allow_extras` but instantly stops and returns. ([#8](https://github.com/CLIUtils/CLI11/issues/8), [#17](https://github.com/CLIUtils/CLI11/pull/17))
307
309
* Removed Windows warning ([#10](https://github.com/CLIUtils/CLI11/issues/10), [#20](https://github.com/CLIUtils/CLI11/pull/20))
308
310
* Some improvements to CMake, detect Python and no dependencies on Python 2 (like Python 3) ([#18](https://github.com/CLIUtils/CLI11/issues/18), [#21](https://github.com/CLIUtils/CLI11/pull/21))
Copy file name to clipboardExpand all lines: README.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -232,6 +232,7 @@ Before parsing, you can set the following options:
232
232
-`->group(name)`: The help group to put the option in. No effect for positional options. Defaults to `"Options"`. `""` will not show up in the help print (hidden).
233
233
-`->ignore_case()`: Ignore the case on the command line (also works on subcommands, does not affect arguments).
234
234
-`->ignore_underscore()`: Ignore any underscores in the options names (also works on subcommands, does not affect arguments). For example "option_one" will match with optionone. This does not apply to short form options since they only have one character
235
+
-`.description(str)`: Set/change the description.
235
236
-`->multi_option_policy(CLI::MultiOptionPolicy::Throw)`: Set the multi-option policy. Shortcuts available: `->take_last()`, `->take_first()`, and `->join()`. This will only affect options expecting 1 argument or bool flags (which always default to take last).
236
237
-`->check(CLI::ExistingFile)`: Requires that the file exists if given.
237
238
-`->check(CLI::ExistingDirectory)`: Requires that the directory exists.
@@ -306,6 +307,7 @@ There are several options that are supported on the main app and subcommands. Th
306
307
-`.get_options(filter)`: Get the list of all defined option pointers (useful for processing the app for custom output formats).
307
308
-`.parse_order()`: Get the list of option pointers in the order they were parsed (including duplicates).
308
309
-`.formatter(fmt)`: Set a formatter, with signature `std::string(const App*, std::string, AppFormatMode)`. See Formatting for more details.
310
+
-`.description(str)`: Set/change the description.
309
311
-`.get_description()`: Access the description.
310
312
-`.parsed()`: True if this subcommand was given on the command line.
311
313
-`.name(name)`: Add or change the name.
@@ -478,8 +480,9 @@ Significant features and/or improvements to the code were contributed by:
478
480
- [Paweł Bylica](https://github.com/chfast)
479
481
- [Philip Top](https://github.com/phlptp)
480
482
- [almikhayl](https://github.com/almikhayl)
481
-
- [nurelin](https://github.com/nurelin)
482
-
- [ncihneg](https://github.com/ncihneg)
483
+
- [nurelin](https://github.com/nurelin) <!-- help_all in message -->
484
+
- [ncihneg](https://github.com/ncihneg) <!-- Quoting strings in INI generation -->
0 commit comments