* 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
This commit is contained in:
Josh Soref 2020-02-12 00:41:58 -05:00 committed by GitHub
parent 34bfa38691
commit 51a0efcbbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 36 additions and 36 deletions

View File

@ -10,7 +10,7 @@ rm -rf cmake_dir/* build_tmp/*
v=$1 v=$1
fn=cmake-$v-Linux-x86_64.tar.gz fn=cmake-$v-Linux-x86_64.tar.gz
if [ ! -f cmake_souces/$fn ]; then if [ ! -f cmake_sources/$fn ]; then
wget -qO cmake_sources/$fn "https://cmake.org/files/v${v%.*}/$fn" wget -qO cmake_sources/$fn "https://cmake.org/files/v${v%.*}/$fn"
fi fi

View File

@ -333,7 +333,7 @@ This is a quick patch release that makes LICENSE part of the single header file,
### Version 1.5.1: Access ### Version 1.5.1: Access
This patch release adds better access to the App progromatically, to assist with writing custom converters to other formats. It also improves the help output, and uses a new feature in CLI11 1.5 to fix an old "quirk" in the way unlimited options and positionals interact. This patch release adds better access to the App programmatically, to assist with writing custom converters to other formats. It also improves the help output, and uses a new feature in CLI11 1.5 to fix an old "quirk" in the way unlimited options and positionals interact.
* Make mixing unlimited positionals and options more intuitive [#102] * Make mixing unlimited positionals and options more intuitive [#102]
* Add missing getters `get_options` and `get_description` to App [#105] * Add missing getters `get_options` and `get_description` to App [#105]
@ -360,7 +360,7 @@ Note: This is the final release with `requires`, please switch to `needs`.
* Support for `std::optional`, `std::experimental::optional`, and `boost::optional` added if `__has_include` is supported [#95] * Support for `std::optional`, `std::experimental::optional`, and `boost::optional` added if `__has_include` is supported [#95]
* All macros/CMake variables now start with `CLI11_` instead of just `CLI_` [#95] * All macros/CMake variables now start with `CLI11_` instead of just `CLI_` [#95]
* The internal stream was not being cleared before use in some cases. Fixed. [#95] * The internal stream was not being cleared before use in some cases. Fixed. [#95]
* Using an emum now requires explicit conversion overload [#97] * Using an enum now requires explicit conversion overload [#97]
* The separator `--` now is removed when it ends unlimited arguments [#100] * The separator `--` now is removed when it ends unlimited arguments [#100]
Other, non-user facing changes: Other, non-user facing changes:
@ -551,7 +551,7 @@ Lots of cleanup and docs additions made it into this release. Parsing is simpler
## Version 0.3: Plumbum compatibility ## Version 0.3: Plumbum compatibility
* Added `->requires`, `->excludes`, and `->envname` from [Plumbum](http://plumbum.readthedocs.io/en/latest/) * Added `->requires`, `->excludes`, and `->envname` from [Plumbum](http://plumbum.readthedocs.io/en/latest/)
* Supports `->mandatory` from Plubmum * Supports `->mandatory` from Plumbum
* More tests for help strings, improvements in formatting * More tests for help strings, improvements in formatting
* Support type and set syntax in positionals help strings * Support type and set syntax in positionals help strings
* Added help groups, with `->group("name")` syntax * Added help groups, with `->group("name")` syntax

View File

@ -51,7 +51,7 @@ list(APPEND build-docs "EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/docs")
option(CLI11_WARNINGS_AS_ERRORS "Turn all warnings into errors (for CI)") option(CLI11_WARNINGS_AS_ERRORS "Turn all warnings into errors (for CI)")
option(CLI11_SINGLE_FILE "Generate a single header file") option(CLI11_SINGLE_FILE "Generate a single header file")
cmake_dependent_option(CLI11_SANITIZERS cmake_dependent_option(CLI11_SANITIZERS
"Download the sanatizers CMake config" OFF "Download the sanitizers CMake config" OFF
"NOT CMAKE_VERSION VERSION_LESS 3.11" OFF) "NOT CMAKE_VERSION VERSION_LESS 3.11" OFF)
cmake_dependent_option(CLI11_BUILD_DOCS cmake_dependent_option(CLI11_BUILD_DOCS
@ -89,7 +89,7 @@ cmake_dependent_option(CLI11_CUDA_TESTS
cmake_dependent_option(CLI11_CLANG_TIDY cmake_dependent_option(CLI11_CLANG_TIDY
"Look for and use Clang-Tidy" OFF "Look for and use Clang-Tidy" OFF
"CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME;NOT CMAKE_VERSION VERSION_LESS 3.6" OFF) "CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME;NOT CMAKE_VERSION VERSION_LESS 3.6" OFF)
set(CLI11_CLANG_TIDY_OPTIONS "" CACHE STRING "Clang tidy options, such as -fix, simicolon separated") set(CLI11_CLANG_TIDY_OPTIONS "" CACHE STRING "Clang tidy options, such as -fix, semicolon separated")
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND NOT DEFINED CMAKE_CXX_STANDARD) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)

View File

@ -3,7 +3,7 @@ linelength=120 # As in .clang-format
# Non-used filters # Non-used filters
filter=-build/include_order # Requires unusual include order that encourages creating not self-contained headers filter=-build/include_order # Requires unusual include order that encourages creating not self-contained headers
filter=-readability/nolint # Conficts with clang-tidy filter=-readability/nolint # Conflicts with clang-tidy
filter=-runtime/references # Requires fundamental change of API, don't see need for this filter=-runtime/references # Requires fundamental change of API, don't see need for this
filter=-whitespace/blank_line # Unnecessarily strict with blank lines that otherwise help with readability filter=-whitespace/blank_line # Unnecessarily strict with blank lines that otherwise help with readability
filter=-whitespace/parens,-whitespace/braces # Conflict with clang-format filter=-whitespace/parens,-whitespace/braces # Conflict with clang-format

View File

@ -105,7 +105,7 @@ CLI::Option* opt = app.add_flag("--opt");
CLI11_PARSE(app, argv, argc); CLI11_PARSE(app, argv, argc);
if(* opt) if(* opt)
std::cout << "Flag recieved " << opt->count() << " times." << std::endl; std::cout << "Flag received " << opt->count() << " times." << std::endl;
``` ```
## Inheritance of defaults ## Inheritance of defaults

View File

@ -280,7 +280,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# parses. With this tag you can assign which parser to use for a given # parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it # extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and # using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript, # language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed # Fortran. In the later case the parser tries to guess whether the code is fixed
@ -1508,7 +1508,7 @@ FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES FORMULA_TRANSPARENT = YES
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering # http://www.mathjax.org) which uses client side JavaScript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When # installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path # enabled you may also need to install MathJax separately and configure the path
@ -1578,7 +1578,7 @@ MATHJAX_CODEFILE =
SEARCHENGINE = YES SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There # implemented using a web server instead of a web client using JavaScript. There
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
# setting. When disabled, doxygen will generate a PHP script for searching and # setting. When disabled, doxygen will generate a PHP script for searching and
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing

View File

@ -17,7 +17,7 @@ int main(int argc, char **argv) {
auto foo = app.add_option("--foo,-f", foos, "Some unlimited argument"); auto foo = app.add_option("--foo,-f", foos, "Some unlimited argument");
std::vector<int> bars; std::vector<int> bars;
auto bar = app.add_option("--bar", bars, "Some unlimited arggument"); auto bar = app.add_option("--bar", bars, "Some unlimited argument");
app.add_flag("--z,--x", "Random other flags"); app.add_flag("--z,--x", "Random other flags");

View File

@ -984,7 +984,7 @@ class App {
} }
///@} ///@}
/// @name Subcommmands /// @name Subcommands
///@{ ///@{
/// Add a subcommand. Inherits INHERITABLE and OptionDefaults, and help flag /// Add a subcommand. Inherits INHERITABLE and OptionDefaults, and help flag

View File

@ -246,11 +246,11 @@ class RequiredError : public ParseError {
class ArgumentMismatch : public ParseError { class ArgumentMismatch : public ParseError {
CLI11_ERROR_DEF(ParseError, ArgumentMismatch) CLI11_ERROR_DEF(ParseError, ArgumentMismatch)
CLI11_ERROR_SIMPLE(ArgumentMismatch) CLI11_ERROR_SIMPLE(ArgumentMismatch)
ArgumentMismatch(std::string name, int expected, std::size_t recieved) ArgumentMismatch(std::string name, int expected, std::size_t received)
: ArgumentMismatch(expected > 0 ? ("Expected exactly " + std::to_string(expected) + " arguments to " + name + : ArgumentMismatch(expected > 0 ? ("Expected exactly " + std::to_string(expected) + " arguments to " + name +
", got " + std::to_string(recieved)) ", got " + std::to_string(received))
: ("Expected at least " + std::to_string(-expected) + " arguments to " + name + : ("Expected at least " + std::to_string(-expected) + " arguments to " + name +
", got " + std::to_string(recieved)), ", got " + std::to_string(received)),
ExitCodes::ArgumentMismatch) {} ExitCodes::ArgumentMismatch) {}
static ArgumentMismatch AtLeast(std::string name, int num, std::size_t received) { static ArgumentMismatch AtLeast(std::string name, int num, std::size_t received) {

View File

@ -282,7 +282,7 @@ class CustomValidator : public Validator {
namespace detail { namespace detail {
/// CLI enumeration of different file types /// CLI enumeration of different file types
enum class path_type { nonexistant, file, directory }; enum class path_type { nonexistent, file, directory };
#if defined CLI11_HAS_FILESYSTEM && CLI11_HAS_FILESYSTEM > 0 #if defined CLI11_HAS_FILESYSTEM && CLI11_HAS_FILESYSTEM > 0
/// get the type of the path from a file name /// get the type of the path from a file name
@ -290,12 +290,12 @@ inline path_type check_path(const char *file) noexcept {
std::error_code ec; std::error_code ec;
auto stat = std::filesystem::status(file, ec); auto stat = std::filesystem::status(file, ec);
if(ec) { if(ec) {
return path_type::nonexistant; return path_type::nonexistent;
} }
switch(stat.type()) { switch(stat.type()) {
case std::filesystem::file_type::none: case std::filesystem::file_type::none:
case std::filesystem::file_type::not_found: case std::filesystem::file_type::not_found:
return path_type::nonexistant; return path_type::nonexistent;
case std::filesystem::file_type::directory: case std::filesystem::file_type::directory:
return path_type::directory; return path_type::directory;
case std::filesystem::file_type::symlink: case std::filesystem::file_type::symlink:
@ -323,7 +323,7 @@ inline path_type check_path(const char *file) noexcept {
return ((buffer.st_mode & S_IFDIR) != 0) ? path_type::directory : path_type::file; return ((buffer.st_mode & S_IFDIR) != 0) ? path_type::directory : path_type::file;
} }
#endif #endif
return path_type::nonexistant; return path_type::nonexistent;
} }
#endif #endif
/// Check for an existing file (returns error message if check fails) /// Check for an existing file (returns error message if check fails)
@ -332,7 +332,7 @@ class ExistingFileValidator : public Validator {
ExistingFileValidator() : Validator("FILE") { ExistingFileValidator() : Validator("FILE") {
func_ = [](std::string &filename) { func_ = [](std::string &filename) {
auto path_result = check_path(filename.c_str()); auto path_result = check_path(filename.c_str());
if(path_result == path_type::nonexistant) { if(path_result == path_type::nonexistent) {
return "File does not exist: " + filename; return "File does not exist: " + filename;
} }
if(path_result == path_type::directory) { if(path_result == path_type::directory) {
@ -349,7 +349,7 @@ class ExistingDirectoryValidator : public Validator {
ExistingDirectoryValidator() : Validator("DIR") { ExistingDirectoryValidator() : Validator("DIR") {
func_ = [](std::string &filename) { func_ = [](std::string &filename) {
auto path_result = check_path(filename.c_str()); auto path_result = check_path(filename.c_str());
if(path_result == path_type::nonexistant) { if(path_result == path_type::nonexistent) {
return "Directory does not exist: " + filename; return "Directory does not exist: " + filename;
} }
if(path_result == path_type::file) { if(path_result == path_type::file) {
@ -366,7 +366,7 @@ class ExistingPathValidator : public Validator {
ExistingPathValidator() : Validator("PATH(existing)") { ExistingPathValidator() : Validator("PATH(existing)") {
func_ = [](std::string &filename) { func_ = [](std::string &filename) {
auto path_result = check_path(filename.c_str()); auto path_result = check_path(filename.c_str());
if(path_result == path_type::nonexistant) { if(path_result == path_type::nonexistent) {
return "Path does not exist: " + filename; return "Path does not exist: " + filename;
} }
return std::string(); return std::string();
@ -380,7 +380,7 @@ class NonexistentPathValidator : public Validator {
NonexistentPathValidator() : Validator("PATH(non-existing)") { NonexistentPathValidator() : Validator("PATH(non-existing)") {
func_ = [](std::string &filename) { func_ = [](std::string &filename) {
auto path_result = check_path(filename.c_str()); auto path_result = check_path(filename.c_str());
if(path_result != path_type::nonexistant) { if(path_result != path_type::nonexistent) {
return "Path already exists: " + filename; return "Path already exists: " + filename;
} }
return std::string(); return std::string();

View File

@ -6,7 +6,7 @@
int main(int argc, char **argv) { int main(int argc, char **argv) {
CLI::App app("Some nice discription"); CLI::App app("Some nice description");
int x = 0; int x = 0;
app.add_option("-x", x, "an integer value", true /* show default */); app.add_option("-x", x, "an integer value", true /* show default */);

View File

@ -1394,7 +1394,7 @@ TEST_F(TApp, RequireOptPriorityShort) {
EXPECT_EQ(remain, std::vector<std::string>({"two", "three"})); EXPECT_EQ(remain, std::vector<std::string>({"two", "three"}));
} }
TEST_F(TApp, NotRequiedExpectedDouble) { TEST_F(TApp, NotRequiredExpectedDouble) {
std::vector<std::string> strs; std::vector<std::string> strs;
app.add_option("--str", strs)->expected(2); app.add_option("--str", strs)->expected(2);
@ -1404,7 +1404,7 @@ TEST_F(TApp, NotRequiedExpectedDouble) {
EXPECT_THROW(run(), CLI::ArgumentMismatch); EXPECT_THROW(run(), CLI::ArgumentMismatch);
} }
TEST_F(TApp, NotRequiedExpectedDoubleShort) { TEST_F(TApp, NotRequiredExpectedDoubleShort) {
std::vector<std::string> strs; std::vector<std::string> strs;
app.add_option("-s", strs)->expected(2); app.add_option("-s", strs)->expected(2);
@ -2338,7 +2338,7 @@ TEST_F(TApp, OptionWithDefaults) {
} }
// Added to test ->transform // Added to test ->transform
TEST_F(TApp, OrderedModifingTransforms) { TEST_F(TApp, OrderedModifyingTransforms) {
std::vector<std::string> val; std::vector<std::string> val;
auto m = app.add_option("-m", val); auto m = app.add_option("-m", val);
m->transform([](std::string x) { return x + "1"; }); m->transform([](std::string x) { return x + "1"; });

View File

@ -5,7 +5,7 @@
using ::testing::HasSubstr; using ::testing::HasSubstr;
using ::testing::Not; using ::testing::Not;
TEST(Deprecated, Emtpy) { TEST(Deprecated, Empty) {
// No deprecated features at this time. // No deprecated features at this time.
EXPECT_TRUE(true); EXPECT_TRUE(true);
} }

View File

@ -731,7 +731,7 @@ struct CapturedHelp : public ::testing::Test {
} }
}; };
TEST_F(CapturedHelp, Sucessful) { TEST_F(CapturedHelp, Successful) {
EXPECT_EQ(run(CLI::Success()), 0); EXPECT_EQ(run(CLI::Success()), 0);
EXPECT_EQ(out.str(), ""); EXPECT_EQ(out.str(), "");
EXPECT_EQ(err.str(), ""); EXPECT_EQ(err.str(), "");
@ -825,7 +825,7 @@ TEST_F(CapturedHelp, AllOnlyError) {
EXPECT_THAT(err.str(), Not(HasSubstr("Usage"))); EXPECT_THAT(err.str(), Not(HasSubstr("Usage")));
} }
TEST_F(CapturedHelp, RepacedError) { TEST_F(CapturedHelp, ReplacedError) {
app.failure_message(CLI::FailureMessage::help); app.failure_message(CLI::FailureMessage::help);
EXPECT_EQ(run(CLI::ExtrasError({"Thing"})), static_cast<int>(CLI::ExitCodes::ExtrasError)); EXPECT_EQ(run(CLI::ExtrasError({"Thing"})), static_cast<int>(CLI::ExitCodes::ExtrasError));
@ -995,7 +995,7 @@ TEST(THelp, CombinedValidatorsText) {
app.add_option("--f1", filename)->check(CLI::ExistingFile | CLI::ExistingDirectory); app.add_option("--f1", filename)->check(CLI::ExistingFile | CLI::ExistingDirectory);
// This would be nice if it put something other than string, but would it be path or file? // This would be nice if it put something other than string, but would it be path or file?
// Can't programatically tell! // Can't programmatically tell!
// (Users can use ExistingPath, by the way) // (Users can use ExistingPath, by the way)
std::string help = app.help(); std::string help = app.help();
EXPECT_THAT(help, HasSubstr("TEXT:(FILE) OR (DIR)")); EXPECT_THAT(help, HasSubstr("TEXT:(FILE) OR (DIR)"));

View File

@ -104,7 +104,7 @@ TEST_F(TApp, CrazyNameSubcommand) {
EXPECT_EQ(sub1->count(), 1u); EXPECT_EQ(sub1->count(), 1u);
} }
TEST_F(TApp, RequiredAndSubcoms) { // #23 TEST_F(TApp, RequiredAndSubcommands) { // #23
std::string baz; std::string baz;
app.add_option("baz", baz, "Baz Description", true)->required(); app.add_option("baz", baz, "Baz Description", true)->required();
@ -719,7 +719,7 @@ TEST_F(TApp, Required1SubCom) {
EXPECT_THROW(run(), CLI::ExtrasError); EXPECT_THROW(run(), CLI::ExtrasError);
} }
TEST_F(TApp, BadSubcomSearch) { TEST_F(TApp, BadSubcommandSearch) {
auto one = app.add_subcommand("one"); auto one = app.add_subcommand("one");
auto two = one->add_subcommand("two"); auto two = one->add_subcommand("two");

View File

@ -104,7 +104,7 @@ TEST_F(TApp, EnumCheckedTransform) {
} }
// from jzakrzewski Issue #330 // from jzakrzewski Issue #330
TEST_F(TApp, EnumCheckedDefualtTransform) { TEST_F(TApp, EnumCheckedDefaultTransform) {
enum class existing : std::int16_t { abort, overwrite, remove }; enum class existing : std::int16_t { abort, overwrite, remove };
app.add_option("--existing", "What to do if file already exists in the destination") app.add_option("--existing", "What to do if file already exists in the destination")
->transform( ->transform(
@ -541,7 +541,7 @@ TEST_F(TApp, BoundTests) {
EXPECT_TRUE(help.find("[3.4 - 5.9]") != std::string::npos); EXPECT_TRUE(help.find("[3.4 - 5.9]") != std::string::npos);
} }
TEST_F(TApp, NumberWithUnitCorrecltySplitNumber) { TEST_F(TApp, NumberWithUnitCorrectlySplitNumber) {
std::map<std::string, int> mapping{{"a", 10}, {"b", 100}, {"cc", 1000}}; std::map<std::string, int> mapping{{"a", 10}, {"b", 100}, {"cc", 1000}};
int value = 0; int value = 0;