mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-04-28 19:53:52 +00:00
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
This commit is contained in:
parent
34bfa38691
commit
51a0efcbbc
2
.github/actions/cmake_config/entrypoint.sh
vendored
2
.github/actions/cmake_config/entrypoint.sh
vendored
@ -10,7 +10,7 @@ rm -rf cmake_dir/* build_tmp/*
|
||||
v=$1
|
||||
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"
|
||||
fi
|
||||
|
||||
|
@ -333,7 +333,7 @@ This is a quick patch release that makes LICENSE part of the single header file,
|
||||
|
||||
### 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]
|
||||
* 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]
|
||||
* 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]
|
||||
* 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]
|
||||
|
||||
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
|
||||
|
||||
* 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
|
||||
* Support type and set syntax in positionals help strings
|
||||
* Added help groups, with `->group("name")` syntax
|
||||
|
@ -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_SINGLE_FILE "Generate a single header file")
|
||||
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)
|
||||
|
||||
cmake_dependent_option(CLI11_BUILD_DOCS
|
||||
@ -89,7 +89,7 @@ cmake_dependent_option(CLI11_CUDA_TESTS
|
||||
cmake_dependent_option(CLI11_CLANG_TIDY
|
||||
"Look for and use Clang-Tidy" 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)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
@ -3,7 +3,7 @@ linelength=120 # As in .clang-format
|
||||
|
||||
# Non-used filters
|
||||
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=-whitespace/blank_line # Unnecessarily strict with blank lines that otherwise help with readability
|
||||
filter=-whitespace/parens,-whitespace/braces # Conflict with clang-format
|
||||
|
@ -105,7 +105,7 @@ CLI::Option* opt = app.add_flag("--opt");
|
||||
CLI11_PARSE(app, argv, argc);
|
||||
|
||||
if(* opt)
|
||||
std::cout << "Flag recieved " << opt->count() << " times." << std::endl;
|
||||
std::cout << "Flag received " << opt->count() << " times." << std::endl;
|
||||
```
|
||||
|
||||
## Inheritance of defaults
|
||||
|
@ -280,7 +280,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
||||
# 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
|
||||
# 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:
|
||||
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# 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
|
||||
@ -1578,7 +1578,7 @@ MATHJAX_CODEFILE =
|
||||
SEARCHENGINE = YES
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
@ -17,7 +17,7 @@ int main(int argc, char **argv) {
|
||||
auto foo = app.add_option("--foo,-f", foos, "Some unlimited argument");
|
||||
|
||||
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");
|
||||
|
||||
|
@ -984,7 +984,7 @@ class App {
|
||||
}
|
||||
|
||||
///@}
|
||||
/// @name Subcommmands
|
||||
/// @name Subcommands
|
||||
///@{
|
||||
|
||||
/// Add a subcommand. Inherits INHERITABLE and OptionDefaults, and help flag
|
||||
|
@ -246,11 +246,11 @@ class RequiredError : public ParseError {
|
||||
class ArgumentMismatch : public ParseError {
|
||||
CLI11_ERROR_DEF(ParseError, 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 +
|
||||
", got " + std::to_string(recieved))
|
||||
", got " + std::to_string(received))
|
||||
: ("Expected at least " + std::to_string(-expected) + " arguments to " + name +
|
||||
", got " + std::to_string(recieved)),
|
||||
", got " + std::to_string(received)),
|
||||
ExitCodes::ArgumentMismatch) {}
|
||||
|
||||
static ArgumentMismatch AtLeast(std::string name, int num, std::size_t received) {
|
||||
|
@ -282,7 +282,7 @@ class CustomValidator : public Validator {
|
||||
namespace detail {
|
||||
|
||||
/// 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
|
||||
/// 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;
|
||||
auto stat = std::filesystem::status(file, ec);
|
||||
if(ec) {
|
||||
return path_type::nonexistant;
|
||||
return path_type::nonexistent;
|
||||
}
|
||||
switch(stat.type()) {
|
||||
case std::filesystem::file_type::none:
|
||||
case std::filesystem::file_type::not_found:
|
||||
return path_type::nonexistant;
|
||||
return path_type::nonexistent;
|
||||
case std::filesystem::file_type::directory:
|
||||
return path_type::directory;
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
return path_type::nonexistant;
|
||||
return path_type::nonexistent;
|
||||
}
|
||||
#endif
|
||||
/// Check for an existing file (returns error message if check fails)
|
||||
@ -332,7 +332,7 @@ class ExistingFileValidator : public Validator {
|
||||
ExistingFileValidator() : Validator("FILE") {
|
||||
func_ = [](std::string &filename) {
|
||||
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;
|
||||
}
|
||||
if(path_result == path_type::directory) {
|
||||
@ -349,7 +349,7 @@ class ExistingDirectoryValidator : public Validator {
|
||||
ExistingDirectoryValidator() : Validator("DIR") {
|
||||
func_ = [](std::string &filename) {
|
||||
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;
|
||||
}
|
||||
if(path_result == path_type::file) {
|
||||
@ -366,7 +366,7 @@ class ExistingPathValidator : public Validator {
|
||||
ExistingPathValidator() : Validator("PATH(existing)") {
|
||||
func_ = [](std::string &filename) {
|
||||
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 std::string();
|
||||
@ -380,7 +380,7 @@ class NonexistentPathValidator : public Validator {
|
||||
NonexistentPathValidator() : Validator("PATH(non-existing)") {
|
||||
func_ = [](std::string &filename) {
|
||||
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 std::string();
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
CLI::App app("Some nice discription");
|
||||
CLI::App app("Some nice description");
|
||||
|
||||
int x = 0;
|
||||
app.add_option("-x", x, "an integer value", true /* show default */);
|
||||
|
@ -1394,7 +1394,7 @@ TEST_F(TApp, RequireOptPriorityShort) {
|
||||
EXPECT_EQ(remain, std::vector<std::string>({"two", "three"}));
|
||||
}
|
||||
|
||||
TEST_F(TApp, NotRequiedExpectedDouble) {
|
||||
TEST_F(TApp, NotRequiredExpectedDouble) {
|
||||
|
||||
std::vector<std::string> strs;
|
||||
app.add_option("--str", strs)->expected(2);
|
||||
@ -1404,7 +1404,7 @@ TEST_F(TApp, NotRequiedExpectedDouble) {
|
||||
EXPECT_THROW(run(), CLI::ArgumentMismatch);
|
||||
}
|
||||
|
||||
TEST_F(TApp, NotRequiedExpectedDoubleShort) {
|
||||
TEST_F(TApp, NotRequiredExpectedDoubleShort) {
|
||||
|
||||
std::vector<std::string> strs;
|
||||
app.add_option("-s", strs)->expected(2);
|
||||
@ -2338,7 +2338,7 @@ TEST_F(TApp, OptionWithDefaults) {
|
||||
}
|
||||
|
||||
// Added to test ->transform
|
||||
TEST_F(TApp, OrderedModifingTransforms) {
|
||||
TEST_F(TApp, OrderedModifyingTransforms) {
|
||||
std::vector<std::string> val;
|
||||
auto m = app.add_option("-m", val);
|
||||
m->transform([](std::string x) { return x + "1"; });
|
||||
|
@ -5,7 +5,7 @@
|
||||
using ::testing::HasSubstr;
|
||||
using ::testing::Not;
|
||||
|
||||
TEST(Deprecated, Emtpy) {
|
||||
TEST(Deprecated, Empty) {
|
||||
// No deprecated features at this time.
|
||||
EXPECT_TRUE(true);
|
||||
}
|
||||
|
@ -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(out.str(), "");
|
||||
EXPECT_EQ(err.str(), "");
|
||||
@ -825,7 +825,7 @@ TEST_F(CapturedHelp, AllOnlyError) {
|
||||
EXPECT_THAT(err.str(), Not(HasSubstr("Usage")));
|
||||
}
|
||||
|
||||
TEST_F(CapturedHelp, RepacedError) {
|
||||
TEST_F(CapturedHelp, ReplacedError) {
|
||||
app.failure_message(CLI::FailureMessage::help);
|
||||
|
||||
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);
|
||||
|
||||
// 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)
|
||||
std::string help = app.help();
|
||||
EXPECT_THAT(help, HasSubstr("TEXT:(FILE) OR (DIR)"));
|
||||
|
@ -104,7 +104,7 @@ TEST_F(TApp, CrazyNameSubcommand) {
|
||||
EXPECT_EQ(sub1->count(), 1u);
|
||||
}
|
||||
|
||||
TEST_F(TApp, RequiredAndSubcoms) { // #23
|
||||
TEST_F(TApp, RequiredAndSubcommands) { // #23
|
||||
|
||||
std::string baz;
|
||||
app.add_option("baz", baz, "Baz Description", true)->required();
|
||||
@ -719,7 +719,7 @@ TEST_F(TApp, Required1SubCom) {
|
||||
EXPECT_THROW(run(), CLI::ExtrasError);
|
||||
}
|
||||
|
||||
TEST_F(TApp, BadSubcomSearch) {
|
||||
TEST_F(TApp, BadSubcommandSearch) {
|
||||
|
||||
auto one = app.add_subcommand("one");
|
||||
auto two = one->add_subcommand("two");
|
||||
|
@ -104,7 +104,7 @@ TEST_F(TApp, EnumCheckedTransform) {
|
||||
}
|
||||
|
||||
// from jzakrzewski Issue #330
|
||||
TEST_F(TApp, EnumCheckedDefualtTransform) {
|
||||
TEST_F(TApp, EnumCheckedDefaultTransform) {
|
||||
enum class existing : std::int16_t { abort, overwrite, remove };
|
||||
app.add_option("--existing", "What to do if file already exists in the destination")
|
||||
->transform(
|
||||
@ -541,7 +541,7 @@ TEST_F(TApp, BoundTests) {
|
||||
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}};
|
||||
|
||||
int value = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user