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

470 Commits

Author SHA1 Message Date
Philip Top
2fa8cae9e8
feat: add changeable help message string to version (#601)
add an optional help message string to the version_add flag if desired to override
2021-06-17 12:04:55 -04:00
Philip Top
15bb724e06
fix: make the IncorrectConstruction errors on bad subcommand name more comprehensible. (#602) 2021-06-17 08:37:38 -04:00
Philip Top
ee2b725019
fix: a few issues with config file output (#599)
* fix a few issues with config file output, namely an ability to print a default empty string, and to adjust the quote characters used when quoting strings or characters.

* fix formatting

* Update CMakeLists.txt

* Update README.md
2021-06-16 21:58:03 -04:00
Henry Schreiner
c4f1fc8ea7
refactor!: remove add_complex (#600) 2021-06-16 20:33:22 -04:00
Henry Schreiner
e2e3cb2fed
refactor!: drop defaulted from add_option (#597) 2021-06-16 11:16:22 -04:00
Henry Schreiner
51ea7ebeb0
drop: set (#565)
* refactor!: drop sets

* ci: fix clang 10 build
2021-04-04 01:58:01 -04:00
Max
3eb5e1eedd
fix: rename enum class parameter 'WINDOWS' in detail::Classifier to 'WINDOWS_STYLE' to remove conflicts with cmake default definitions (#563) 2021-04-04 01:57:46 -04:00
Henry Schreiner
f862849488
refactor: new version of MakeSingleFiles (#546)
* refactor: new version of MakeSingleFiles

* fix: use CMake and set version
2021-01-04 17:47:06 -05:00
Philip Top
822f3d6700
fix: add an alias section to the help for subcommands (#545) 2020-12-28 11:02:18 -05:00
Philip Top
f0461525bb
feat: add a silent option to subcommands (#529)
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2020-12-28 11:00:18 -05:00
Philip Top
31be35b241
feat: add a validator that checks for specific types conversion (#526) 2020-12-28 10:58:57 -05:00
D. Fleury
a7902531c9
fix: add multilines array support for TOML (#528)
* Adds multilines array support

* Update include/CLI/Config.hpp

Co-authored-by: David Fleury <david.fleury@expandium.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2020-10-28 12:34:24 -04:00
Philip Top
69674dc91b
fix: help all was showing up in the required list error if requirement are not met. (#530) 2020-10-28 12:33:15 -04:00
Philip Top
89926dc820
feat: support for Atomic types in flags and options (#520) 2020-10-28 11:57:47 -04:00
Alex Dewar
97e5ebe490
fix: don't copy ConfigItems when iterating (#521)
Use a const reference to avoid unnecessary copies. Also constify the
argument to _parse_config.
2020-10-15 21:51:21 -04:00
Philip Top
438eabe5f8
feat: add char type (#449)
add a test for char options

add support for char types to the lexical cast, to allow single character types that make sense, add a integral_conversion operations to simplify the conversions from string to integers and allow discrimination in a few cases with enumerations.
2020-09-30 17:58:39 -04:00
Dominik Steinberger
d3b0b73118
Print input when validation fails (#516)
Co-authored-by: Dominik Steinberger <open-source-libraries@steinberger.io>
2020-09-30 08:57:16 -04:00
Ryan Curtin
26555f9ea2
Grammar fix. (#510) 2020-09-09 14:08:41 -04:00
Philip Top
6aa58d5828
Add an ability to deal handle multiple config files (#494) 2020-09-03 19:42:35 -04:00
Jakob Lover
11141525ac
Customize text between option name and description (#497)
* Added an option to change the text between definition and description

* Added test and readme

* Update Option.hpp

Fixed shadowing issue

* style: fix formatting

Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2020-09-03 19:40:42 -04:00
Henry Schreiner
f1349f12e3 Bump to Version 1.9.1 2020-07-27 22:11:23 -04:00
Philip Top
102e201dc7
fix: a failing test case for toml string_vector processing (#491) 2020-07-27 22:10:18 -04:00
Philip Top
34bd80971b
allow the use of allow_extra_args(false) to specify only a single argument at a time with a container output. (#484) 2020-07-24 00:02:33 -04:00
Sam Hocevar
2337bbf35d
Fix internal header include paths. (#475)
* Fix internal header include paths.

The extra leading "CLI/" part of include directives prevents the inclusion
of CLI.hpp from a relative directory without an extra -I or /I compiler
directive.

* Fix single header generation script.

Files included with "" should be relative to the header file location first.
2020-06-14 11:32:29 -04:00
Sam Hocevar
dccfb06d65
Fix default --version help message capitalisation. (#476)
The default help message for “--help” is capitalised, whereas the one
for “--version” was not:

    -h,--help                   Print this help message and exit
    -V,--version                display program version information and exit
2020-06-14 11:13:54 -04:00
Ondřej Čertík
5c35c182f6
Use e.get_name instead of dynamic_cast (#467)
* Use e.get_name instead of dynamic_cast

Also use std::static_pointer_cast instead of std::dynamic_pointer_cast

Fixes #466

* feat: Allow RTTI to be turned off

* ci: Fix CXX flags

* doc: Adding update to book

Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2020-06-01 21:24:57 -04:00
Philip Top
41a9c294d0
Version add (#452)
* Add a dedicated version option to CLI11 to facilitate use of version flags, similar to help flags

* add some test for the version flag

* update errors and formatting

* clear up gcc 4.8 warnings

* add a few more tests

* fix compiler error

* fix a few comments, and change default version flag to only use "--version"

* remove `version` calls and tests

* formatting and add `std::string version()`  back in.
2020-05-24 23:18:44 -04:00
Philip Top
fff3350254
fix issue with option defaults not propagating to option groups (#450) 2020-05-21 10:07:33 -04:00
Philip Top
747544d7a0
try clang 10 (#459)
* try clang 10

* use helics-builder clang 10 image

* try new image

* try again

* try different flag addition

* try adding cpp20 to visual studio check

* try with the latest flag enabled for visual studio 2019

* try the correct c++ flag

* remove use of std::result_of

* format files
2020-05-21 10:05:32 -04:00
Philip Top
b9a2f320b9
Add windows latest and gcc 8 builds to azure (#446)
* add windows latest and gcc 8 builds to azure

* try adding pr trigger

* try adding something specific for gcc 8

* use interface instead of public

* try C++17 on clang 8

* update the readme with some additional notes about gcc 8

* fix some incorrect doxygen comment formatting

* try using the glibcxx_release value

* debug some code paths to make sure macros are working

* Update readme and fix formatting.

* update formatting for Validators
2020-04-02 01:55:20 -04:00
Christoph Bachhuber
a1ef417b8d Remove cpplint's build/c++11 check
Fix rebase
2020-03-23 09:42:08 -04:00
Philip Top
27da2f952e
Container options (#423)
* Update options.md book chapter and the readme to better reflect current usage and the modifications to the add_options templates.

add support in add_option for wrapper types, such as std::optional, boost::optional or other types with a value_type trait.  Add support for generalized containers beyond vector,  add support for nested tuples and vectors, and complex numbers directly in add_option.  This includes several new type traits and object categories.

Upgrade the google test version to better support templated tests.

add support for vector argument separator `%%`

* update formatting to match recent changes

* Apply suggestions from code review

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2020-03-22 14:06:34 -04:00
Philip Top
f346f29802
Config short (#443)
* add a get_single_name function for options, and allow short names to be used for configuration output.

* add config input to handle short and positional options

* add some tests about short options and positional options in config files

* allow use of envname_ in config files

* update doc book and readme with fixes

* formatting update

* some formatting updates

* add some notes on the config file generation

* just try modifying a comment
2020-03-22 13:58:46 -04:00
Philip Top
967bfe0e02
Set the default configuration file output as TOML (#435)
* Set the default configuration file output as TOML

* update formatting
2020-03-06 00:11:59 -05:00
Christoph Bachhuber
d8a5bdc294
Add and fix cpplint whitespace/comments (#434)
* Add whitespace/comments check

* Adapt spacing in clang-format

* Fix cpplint whitespace/comments issues

* Grammar

* Do not use clang-format for comment spacing

* Fix with clang-format pre-commit hook
2020-03-06 00:04:59 -05:00
Christoph Bachhuber
5ecb61599a
Add and fix cpplint readability/braces (#431)
* Add readability/braces check

* Fix cpplint readability/braces issues
2020-02-13 09:47:36 +01:00
Josh Soref
51a0efcbbc
Spelling (#429)
* spelling: argument

* spelling: conflicts

* spelling: correctly

* spelling: default

* spelling: description

* spelling: empty

* spelling: enum

* spelling: javascript

* spelling: modifying

* spelling: nonexistent

* spelling: plumbum

* spelling: programmatically

* spelling: received

* spelling: replaced

* spelling: required

* spelling: sanitizers

* spelling: semicolon

* spelling: source

* spelling: subcommands

* spelling: successful
2020-02-12 00:41:58 -05:00
Christoph Bachhuber
34bfa38691
Add copyright and copyright check (#424)
* Add copyright check

* Remove old license message

* Implement suggestions from code review
2020-02-10 14:28:47 -05:00
Philip Top
ee851c7e88
String conversions (#421)
* add a variant of the string conversions for the default string operations.  Discriminate between the is_convertible and is_constructible type traits for object.

* update the test to test the different situations with the funny string like type
2020-01-31 07:49:40 -05:00
Christoph Bachhuber
88b0bc4d95 Add include_what_you_use to cpplint checks (#414)
* Add build/include_what_you_use to cpplint checks

* Fix all cpplint build/include_what_you_use issues
2020-01-26 14:01:54 -06:00
Christoph Bachhuber
ffe5b29e1f Add cstdint and std::prefix to its symbols (#409)
* Add cstdint and std::prefix to its symbols

* Use int64_t in std::
2020-01-21 18:24:40 -06:00
Henry Schreiner
dd0d8e4fe7
Bump version to 1.9.0 (#408)
* Bump version to 1.9.0

* Include CMake mention
2020-01-19 17:00:53 -06:00
Christoph Bachhuber
b856c0ba9c Add cpplint to CI (#400)
* Add cpplint config file

* Add cpplint to CI

* Add checks

* Add docker container tag

* Unindent container

As suggested in code review

Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>

* Fix cpplint issues

* Fix clang-format

* Include and fix modern cpplint runtime/int

* Include and fix cpplint build/include_order

* Revert "Include and fix cpplint build/include_order"

This reverts commit bddb6a2d6744c5397f387ccd03416a1ec5e29862.

* Update explanation, sort alphabetically

* Implement suggestion from code review

Co-Authored-By: Henry Schreiner <HenrySchreinerIII@gmail.com>

* Include cstdint header, prefix its symbols with std::

* Forgot std::

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2020-01-18 08:53:45 -05:00
Henry Schreiner
4b3a6b6214
Add std checking and try to fix filesystem being used on macOS 10.14 (#397)
* Add std checking and try to fix filesystem being used on macOS 10.14

* Adding extra check recommeded by @phlptp

* suppress  the double to int warning in msvc 2019 in the optional test

Co-authored-by: Philip Top <top1@llnl.gov>
2020-01-09 13:48:19 -05:00
Christoph Bachhuber
efbdd604af Refactor clang-tidy (#389)
* Make CI fail with readability-container-size-empty flag

* Make CI fail with cppcoreguidelines-owning-memory flag

* Add all google checks, exclude specific ones

* Apply clang-tidy fixes

* Make timer constructors explicit

* Add check for unscoped namespaces

* Replace unscoped namespace by using-declaration

* Replace unscoped namespace by using-declaration
2020-01-08 17:32:30 -05:00
Henry Schreiner
8570ffb564
Check for switch enum (#393)
* Check for switch enum

* Add missing cases
2020-01-08 10:17:36 -05:00
Andrew Hardin
417a978aba Add missing case to resolve -Wswitch-enum. (#392) 2020-01-07 23:32:41 -05:00
Henry Schreiner
5d07c46efe Adding google-explicit-constructor fixes
Used '-DCLI11_CLANG_TIDY=ON -DCLI11_CLANG_TIDY_OPTIONS=-fix;-checks=google-explicit-constructor"'
2020-01-06 14:16:36 -05:00
Henry Schreiner
4bfcc0e9c7 Fix error with clang tidy 2020-01-06 14:16:36 -05:00
Philip Top
5b17abf22f default_val option call (#387)
* Fix invalid callback calls for default_val Option function.  the update adds a flag variable to control it, makes default_val exception safe and a template to convert from actual value types.

* update readme and fix some compilation issues on older compilers

* revert README.md with mistake erasures

* Update README.md

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2020-01-02 17:38:26 -05:00