Prevent ambiguity of own arguments and clang options consistently

This commit is contained in:
Martchus 2018-01-20 19:32:46 +01:00
parent c36279665d
commit beb4d1d672
2 changed files with 5 additions and 5 deletions

View File

@ -29,17 +29,17 @@ int main(int argc, char *argv[])
// setup argument parser
ArgumentParser parser;
OperationArgument generateArg("generate", 'g', "runs the code generator");
OperationArgument generateArg("generate", '\0', "runs the code generator");
generateArg.setImplicit(true);
ConfigValueArgument inputFileArg("input-file", '\0', "specifies the input file", { "path" });
inputFileArg.setRequired(true);
ConfigValueArgument outputFileArg("output-file", 'o', "specifies the output file", { "path" });
Argument generatorsArg("generators", 'g', "specifies the generators (by default all generators are enabled)");
ConfigValueArgument outputFileArg("output-file", '\0', "specifies the output file", { "path" });
Argument generatorsArg("generators", '\0', "specifies the generators (by default all generators are enabled)");
generatorsArg.setValueNames({ "json" });
generatorsArg.setPreDefinedCompletionValues("json");
generatorsArg.setRequiredValueCount(Argument::varValueCount);
generatorsArg.setCombinable(true);
ConfigValueArgument clangOptionsArg("clang-opt", 'c', "specifies arguments/options to be passed to Clang", { "option" });
ConfigValueArgument clangOptionsArg("clang-opt", '\0', "specifies arguments/options to be passed to Clang", { "option" });
clangOptionsArg.setRequiredValueCount(Argument::varValueCount);
HelpArgument helpArg(parser);
NoColorArgument noColorArg;

View File

@ -90,7 +90,7 @@ void JsonGeneratorTests::testCLI()
string stdout, stderr;
const string inputFilePath(testFilePath("some_structs.h"));
const char *const args1[] = { PROJECT_NAME, "-i", inputFilePath.data(), "--json-classes", "TestNamespace2::ThirdPartyStruct", "--clang-opt",
const char *const args1[] = { PROJECT_NAME, "--input-file", inputFilePath.data(), "--json-classes", "TestNamespace2::ThirdPartyStruct", "--clang-opt",
"-I" CPP_UTILITIES_INCLUDE_DIRS, "-I" RAPIDJSON_INCLUDE_DIRS, nullptr };
TESTUTILS_ASSERT_EXEC(args1);
assertEqualityLinewise(m_expectedCode, toArrayOfLines(stdout));