Compare commits
	
		
			2 Commits
		
	
	
		
			v0.3.1
			...
			56a50201fe
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 56a50201fe | |||
| 7b2acabfd6 | 
| @@ -42,11 +42,11 @@ conan create . | |||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| ArgParse *Init() { | ArgParse *Init() { | ||||||
|     ArgParse *ap = argParseInit("简单的命令行工具示例",NOVALUE); |     ArgParse *ap = argParseInit("简单的命令行工具示例",ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     // 添加第一个命令 |     // 添加第一个命令 | ||||||
|     Command *cmd = argParseAddCommand( |     Command *cmd = argParseAddCommand( | ||||||
|         ap, "list", "列出文件列表", NULL, NULL, NULL, SINGLEVALUE); |         ap, "list", "列出文件列表", NULL, NULL, NULL, ArgParseSINGLEVALUE); | ||||||
|  |  | ||||||
|     // 添加第一个命令的参数 |     // 添加第一个命令的参数 | ||||||
|     argParseAddArg(cmd, |     argParseAddArg(cmd, | ||||||
| @@ -56,7 +56,7 @@ ArgParse *Init() { | |||||||
|                    NULL, |                    NULL, | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    NOVALUE); |                    ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     return ap; |     return ap; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -4,11 +4,11 @@ | |||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| ArgParse *Init() { | ArgParse *Init() { | ||||||
|     ArgParse *ap = argParseInit("简单的命令行工具示例",NOVALUE); |     ArgParse *ap = argParseInit("简单的命令行工具示例",ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     // 添加第一个命令 |     // 添加第一个命令 | ||||||
|     Command *cmd = argParseAddCommand( |     Command *cmd = argParseAddCommand( | ||||||
|         ap, "list", "列出文件列表", NULL, NULL, NULL, SINGLEVALUE); |         ap, "list", "列出文件列表", NULL, NULL, NULL, ArgParseSINGLEVALUE); | ||||||
|  |  | ||||||
|     // 添加第一个命令的参数 |     // 添加第一个命令的参数 | ||||||
|     argParseAddArg(cmd, |     argParseAddArg(cmd, | ||||||
| @@ -18,7 +18,7 @@ ArgParse *Init() { | |||||||
|                    NULL, |                    NULL, | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    NOVALUE); |                    ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     return ap; |     return ap; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,14 +7,12 @@ | |||||||
| extern "C" { | extern "C" { | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| #ifdef _MSC_VER | #ifdef _MSC_VER | ||||||
|     #define NORETURN __declspec(noreturn) | #define NORETURN __declspec(noreturn) | ||||||
| #else | #else | ||||||
|     #define NORETURN _Noreturn | #define NORETURN _Noreturn | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
| #define ARG_DEFAULT_HELP_FLAG "--help" | #define ARG_DEFAULT_HELP_FLAG "--help" | ||||||
|  |  | ||||||
| typedef struct ArgParse ArgParse; // 解析器 | typedef struct ArgParse ArgParse; // 解析器 | ||||||
| @@ -24,10 +22,10 @@ typedef int (*ArgParseCallback)(ArgParse *argParse, | |||||||
|                                 int       val_len); // 回调函数 |                                 int       val_len); // 回调函数 | ||||||
|  |  | ||||||
| typedef enum { | typedef enum { | ||||||
|     NOVALUE = 0,     // 无值 |     ArgParseNOVALUE = 0, // 无值 | ||||||
|     SINGLEVALUE,     // 单值 例如: -i https://www.baidu.com |     ArgParseSINGLEVALUE, // 单值 例如: -i https://www.baidu.com | ||||||
|     MULTIVALUE,      // 多值 例如: -s a b c 或 -s a -s b -s c等 |     ArgParseMULTIVALUE,  // 多值 例如: -s a b c 或 -s a -s b -s c等 | ||||||
| } ArgParseValueType; // 值类型 | } ArgParseValueType;     // 值类型 | ||||||
|  |  | ||||||
| typedef struct CommandArgs { | typedef struct CommandArgs { | ||||||
|     /* 构造属性 */ |     /* 构造属性 */ | ||||||
| @@ -77,7 +75,7 @@ typedef struct ArgParse { | |||||||
|     struct CommandArgs **global_args;     // 全局参数 |     struct CommandArgs **global_args;     // 全局参数 | ||||||
|     int                  global_args_len; // 全局参数个数 |     int                  global_args_len; // 全局参数个数 | ||||||
|     char                *documentation;   // 帮助文档 |     char                *documentation;   // 帮助文档 | ||||||
|     ArgParseValueType value_type; // 值类型 程序默认需要的值例如 gcc main.c |     ArgParseValueType    value_type; // 值类型 程序默认需要的值例如 gcc main.c | ||||||
|  |  | ||||||
|     /* 解析所用到的属性*/ |     /* 解析所用到的属性*/ | ||||||
|     struct Command *current_command; // 当前解析到的命令 |     struct Command *current_command; // 当前解析到的命令 | ||||||
| @@ -312,9 +310,9 @@ char * | |||||||
| argParseGenerateArgErrorMsg(ArgParse *argParse, char *name, bool short_flag); | argParseGenerateArgErrorMsg(ArgParse *argParse, char *name, bool short_flag); | ||||||
|  |  | ||||||
| NORETURN void argParseError(ArgParse   *argParse, | NORETURN void argParseError(ArgParse   *argParse, | ||||||
|                              Command    *lastCommand, |                             Command    *lastCommand, | ||||||
|                              const char *prefix, |                             const char *prefix, | ||||||
|                              const char *suffix); |                             const char *suffix); | ||||||
|  |  | ||||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||||
| } | } | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ void argParseAutoHelp(ArgParse *argParse) { | |||||||
|                          NULL, |                          NULL, | ||||||
|                          __helpCallback, |                          __helpCallback, | ||||||
|                          false, |                          false, | ||||||
|                          NOVALUE); |                          ArgParseNOVALUE); | ||||||
| } | } | ||||||
|  |  | ||||||
| int __commandHelpCallback(ArgParse *argParse, char **val, int val_len) { | int __commandHelpCallback(ArgParse *argParse, char **val, int val_len) { | ||||||
| @@ -96,7 +96,7 @@ void argParseCommandAutoHelp(Command *command) { | |||||||
|                    NULL, |                    NULL, | ||||||
|                    __commandHelpCallback, |                    __commandHelpCallback, | ||||||
|                    false, |                    false, | ||||||
|                    NOVALUE); |                    ArgParseNOVALUE); | ||||||
| } | } | ||||||
|  |  | ||||||
| Command *argParseAddCommand(ArgParse         *argParse, | Command *argParseAddCommand(ArgParse         *argParse, | ||||||
| @@ -314,7 +314,7 @@ int __processArgs(ArgParse *argParse, CommandArgs *arg, int arg_index) { | |||||||
|  |  | ||||||
|     int current_index = arg_index; |     int current_index = arg_index; | ||||||
|  |  | ||||||
|     if (arg->value_type == MULTIVALUE) { |     if (arg->value_type == ArgParseMULTIVALUE) { | ||||||
|         for (int i = arg_index + 1; i < argParse->argc; i++) { |         for (int i = arg_index + 1; i < argParse->argc; i++) { | ||||||
|             if (checkArgType(argParse->argv[i]) == |             if (checkArgType(argParse->argv[i]) == | ||||||
|                 COMMAND) { // COMMAND是无--或-开头的字符串,也可认定为参数值 |                 COMMAND) { // COMMAND是无--或-开头的字符串,也可认定为参数值 | ||||||
| @@ -325,12 +325,12 @@ int __processArgs(ArgParse *argParse, CommandArgs *arg, int arg_index) { | |||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } else if (arg->value_type == SINGLEVALUE) { |     } else if (arg->value_type == ArgParseSINGLEVALUE) { | ||||||
|         if (arg_index + 1 < argParse->argc) { |         if (arg_index + 1 < argParse->argc) { | ||||||
|             argParseSetArgVal(arg, argParse->argv[arg_index + 1]); |             argParseSetArgVal(arg, argParse->argv[arg_index + 1]); | ||||||
|             current_index = arg_index + 1; |             current_index = arg_index + 1; | ||||||
|         } |         } | ||||||
|     } else if (arg->value_type == NOVALUE) { |     } else if (arg->value_type == ArgParseNOVALUE) { | ||||||
|         current_index = arg_index; |         current_index = arg_index; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -437,7 +437,7 @@ int __processCommand(ArgParse *argParse, char *name, int command_index) { | |||||||
|  |  | ||||||
|     command              = argParseFindCommand(argParse, name); // 查找命令 |     command              = argParseFindCommand(argParse, name); // 查找命令 | ||||||
|  |  | ||||||
|     if (command == NULL && argParse->value_type == NOVALUE) { |     if (command == NULL && argParse->value_type == ArgParseNOVALUE) { | ||||||
|         char *msg = NULL; |         char *msg = NULL; | ||||||
|         if (name != NULL) { |         if (name != NULL) { | ||||||
|             msg = stringNewCopy("\033[1;31mERROR\033[0m:"); |             msg = stringNewCopy("\033[1;31mERROR\033[0m:"); | ||||||
| @@ -449,7 +449,7 @@ int __processCommand(ArgParse *argParse, char *name, int command_index) { | |||||||
|         return -1; |         return -1; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (command == NULL && argParse->value_type != NOVALUE) { |     if (command == NULL && argParse->value_type != ArgParseNOVALUE) { | ||||||
|         return __processVal(argParse, command_index); |         return __processVal(argParse, command_index); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -463,7 +463,7 @@ int __processCommand(ArgParse *argParse, char *name, int command_index) { | |||||||
|         switch (argType) { |         switch (argType) { | ||||||
|         case COMMAND: { |         case COMMAND: { | ||||||
|             // 命令无值则处理子命令 |             // 命令无值则处理子命令 | ||||||
|             if (command->value_type == NOVALUE) { |             if (command->value_type == ArgParseNOVALUE) { | ||||||
|                 __processSubCommand(argParse, command, argParse->argv[i], i); |                 __processSubCommand(argParse, command, argParse->argv[i], i); | ||||||
|                 return argParse->argc - 1; |                 return argParse->argc - 1; | ||||||
|             } else { |             } else { | ||||||
| @@ -751,12 +751,12 @@ char *argParseGenerateHelpForCommand(Command *command) { | |||||||
|     __catStr(&help_msg, 2, "\033[1;33mUsage\033[0m: ", command->name); |     __catStr(&help_msg, 2, "\033[1;33mUsage\033[0m: ", command->name); | ||||||
|  |  | ||||||
|     switch (command->value_type) { |     switch (command->value_type) { | ||||||
|     case NOVALUE: |     case ArgParseNOVALUE: | ||||||
|         break; |         break; | ||||||
|     case SINGLEVALUE: |     case ArgParseSINGLEVALUE: | ||||||
|         __catStr(&help_msg, 1, " <value>"); |         __catStr(&help_msg, 1, " <value>"); | ||||||
|         break; |         break; | ||||||
|     case MULTIVALUE: |     case ArgParseMULTIVALUE: | ||||||
|         __catStr(&help_msg, 1, " <value>..."); |         __catStr(&help_msg, 1, " <value>..."); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -179,7 +179,7 @@ argParseFindGlobalArgs(ArgParse *argParse, char *name, bool short_flag) { | |||||||
|  * @return 成功返回true,失败返回false |  * @return 成功返回true,失败返回false | ||||||
|  */ |  */ | ||||||
| bool argParseSetArgVal(CommandArgs *args, char *val) { | bool argParseSetArgVal(CommandArgs *args, char *val) { | ||||||
|     if (args->value_type == MULTIVALUE) { // 多值 |     if (args->value_type == ArgParseMULTIVALUE) { // 多值 | ||||||
|         args->val = realloc(args->val, (args->val_len + 1) * sizeof(char *)); |         args->val = realloc(args->val, (args->val_len + 1) * sizeof(char *)); | ||||||
|         if (args->val == NULL) { |         if (args->val == NULL) { | ||||||
|             return false; |             return false; | ||||||
| @@ -190,7 +190,7 @@ bool argParseSetArgVal(CommandArgs *args, char *val) { | |||||||
|         } |         } | ||||||
|         args->val_len++; |         args->val_len++; | ||||||
|         return true; |         return true; | ||||||
|     } else if (args->value_type == SINGLEVALUE) { // 单值 |     } else if (args->value_type == ArgParseSINGLEVALUE) { // 单值 | ||||||
|         if (args->val != NULL) { |         if (args->val != NULL) { | ||||||
|             free(args->val); |             free(args->val); | ||||||
|         } |         } | ||||||
| @@ -205,7 +205,7 @@ bool argParseSetArgVal(CommandArgs *args, char *val) { | |||||||
|         } |         } | ||||||
|         args->val_len = 1; |         args->val_len = 1; | ||||||
|         return true; |         return true; | ||||||
|     } else if (args->value_type == NOVALUE) { // 无值 |     } else if (args->value_type == ArgParseNOVALUE) { // 无值 | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -213,7 +213,7 @@ bool argParseSetArgVal(CommandArgs *args, char *val) { | |||||||
| } | } | ||||||
|  |  | ||||||
| bool argParseSetCommandVal(Command *command, char *val) { | bool argParseSetCommandVal(Command *command, char *val) { | ||||||
|     if (command->value_type == MULTIVALUE) { // 多值 |     if (command->value_type == ArgParseMULTIVALUE) { // 多值 | ||||||
|         command->val = |         command->val = | ||||||
|             realloc(command->val, (command->val_len + 1) * sizeof(char *)); |             realloc(command->val, (command->val_len + 1) * sizeof(char *)); | ||||||
|         if (command->val == NULL) { |         if (command->val == NULL) { | ||||||
| @@ -225,7 +225,7 @@ bool argParseSetCommandVal(Command *command, char *val) { | |||||||
|         } |         } | ||||||
|         command->val_len++; |         command->val_len++; | ||||||
|         return true; |         return true; | ||||||
|     } else if (command->value_type == SINGLEVALUE) { // 单值 |     } else if (command->value_type == ArgParseSINGLEVALUE) { // 单值 | ||||||
|         if (command->val != NULL) { |         if (command->val != NULL) { | ||||||
|             free(command->val); |             free(command->val); | ||||||
|         } |         } | ||||||
| @@ -240,7 +240,7 @@ bool argParseSetCommandVal(Command *command, char *val) { | |||||||
|         } |         } | ||||||
|         command->val_len = 1; |         command->val_len = 1; | ||||||
|         return true; |         return true; | ||||||
|     } else if (command->value_type == NOVALUE) { // 无值 |     } else if (command->value_type == ArgParseNOVALUE) { // 无值 | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|     return false; |     return false; | ||||||
| @@ -254,7 +254,7 @@ bool argParseSetCommandVal(Command *command, char *val) { | |||||||
|  */ |  */ | ||||||
| bool argParseSetVal(ArgParse *argParse, char *val) { | bool argParseSetVal(ArgParse *argParse, char *val) { | ||||||
|  |  | ||||||
|     if (argParse->value_type == MULTIVALUE) { // 多值 |     if (argParse->value_type == ArgParseMULTIVALUE) { // 多值 | ||||||
|         argParse->val = |         argParse->val = | ||||||
|             realloc(argParse->val, (argParse->val_len + 1) * sizeof(char *)); |             realloc(argParse->val, (argParse->val_len + 1) * sizeof(char *)); | ||||||
|         if (argParse->val == NULL) { |         if (argParse->val == NULL) { | ||||||
| @@ -266,7 +266,7 @@ bool argParseSetVal(ArgParse *argParse, char *val) { | |||||||
|         } |         } | ||||||
|         argParse->val_len++; |         argParse->val_len++; | ||||||
|         return true; |         return true; | ||||||
|     } else if (argParse->value_type == SINGLEVALUE) { // 单值 |     } else if (argParse->value_type == ArgParseSINGLEVALUE) { // 单值 | ||||||
|         if (argParse->val != NULL) { |         if (argParse->val != NULL) { | ||||||
|             free(argParse->val); |             free(argParse->val); | ||||||
|         } |         } | ||||||
| @@ -281,7 +281,7 @@ bool argParseSetVal(ArgParse *argParse, char *val) { | |||||||
|         } |         } | ||||||
|         argParse->val_len = 1; |         argParse->val_len = 1; | ||||||
|         return true; |         return true; | ||||||
|     } else if (argParse->value_type == NOVALUE) { // 无值 |     } else if (argParse->value_type == ArgParseNOVALUE) { // 无值 | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|     return false; |     return false; | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| ArgParse *initArgParse() { | ArgParse *initArgParse() { | ||||||
|     ArgParse *argparse    = argParseInit("测试程序",NOVALUE); |     ArgParse *argparse    = argParseInit("测试程序",ArgParseNOVALUE); | ||||||
|     Command  *command     = NULL; |     Command  *command     = NULL; | ||||||
|     Command  *sub_command = NULL; |     Command  *sub_command = NULL; | ||||||
|  |  | ||||||
| @@ -16,13 +16,13 @@ ArgParse *initArgParse() { | |||||||
|                          NULL, |                          NULL, | ||||||
|                          NULL, |                          NULL, | ||||||
|                          false, |                          false, | ||||||
|                          NOVALUE); |                          ArgParseNOVALUE); | ||||||
|     argParseAddGlobalArg( |     argParseAddGlobalArg( | ||||||
|         argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, NOVALUE); |         argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     // add arguments |     // add arguments | ||||||
|     command = argParseAddCommand( |     command = argParseAddCommand( | ||||||
|         argparse, "install", "Install the package", NULL, NULL, NULL, NOVALUE); |         argparse, "install", "Install the package", NULL, NULL, NULL, ArgParseNOVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-i", |                    "-i", | ||||||
|                    "--index", |                    "--index", | ||||||
| @@ -30,7 +30,7 @@ ArgParse *initArgParse() { | |||||||
|                    "https://example.com", |                    "https://example.com", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    SINGLEVALUE); |                    ArgParseSINGLEVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-f", |                    "-f", | ||||||
|                    "--file", |                    "--file", | ||||||
| @@ -38,7 +38,7 @@ ArgParse *initArgParse() { | |||||||
|                    "package.json", |                    "package.json", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-p", |                    "-p", | ||||||
|                    "--package", |                    "--package", | ||||||
| @@ -46,10 +46,10 @@ ArgParse *initArgParse() { | |||||||
|                    "package.json", |                    "package.json", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     sub_command = argParseAddSubCommand( |     sub_command = argParseAddSubCommand( | ||||||
|         command, "tools", "Install tools", NULL, NULL, NULL, MULTIVALUE); |         command, "tools", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     argParseAddArg(sub_command, |     argParseAddArg(sub_command, | ||||||
|                    "-t", |                    "-t", | ||||||
| @@ -58,9 +58,9 @@ ArgParse *initArgParse() { | |||||||
|                    "Tool name", |                    "Tool name", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|     sub_command = argParseAddSubCommand( |     sub_command = argParseAddSubCommand( | ||||||
|         command, "tools_sub", "Install tools", NULL, NULL, NULL, MULTIVALUE); |         command, "tools_sub", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     argParseAddArg(sub_command, |     argParseAddArg(sub_command, | ||||||
|                    "-s", |                    "-s", | ||||||
| @@ -69,7 +69,7 @@ ArgParse *initArgParse() { | |||||||
|                    "tools subcommand test", |                    "tools subcommand test", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     command = argParseAddCommand(argparse, |     command = argParseAddCommand(argparse, | ||||||
|                                  "uninstall", |                                  "uninstall", | ||||||
| @@ -77,7 +77,7 @@ ArgParse *initArgParse() { | |||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  SINGLEVALUE); |                                  ArgParseSINGLEVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-p", |                    "-p", | ||||||
|                    "--package", |                    "--package", | ||||||
| @@ -85,7 +85,7 @@ ArgParse *initArgParse() { | |||||||
|                    "Package name", |                    "Package name", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     return argparse; |     return argparse; | ||||||
| } | } | ||||||
| @@ -5,7 +5,7 @@ | |||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
| ArgParse *initArgParse() { | ArgParse *initArgParse() { | ||||||
|     ArgParse *argparse    = argParseInit("测试程序", MULTIVALUE); |     ArgParse *argparse    = argParseInit("测试程序", ArgParseMULTIVALUE); | ||||||
|     Command  *command     = NULL; |     Command  *command     = NULL; | ||||||
|     Command  *sub_command = NULL; |     Command  *sub_command = NULL; | ||||||
|  |  | ||||||
| @@ -17,13 +17,13 @@ ArgParse *initArgParse() { | |||||||
|                          NULL, |                          NULL, | ||||||
|                          NULL, |                          NULL, | ||||||
|                          false, |                          false, | ||||||
|                          NOVALUE); |                          ArgParseNOVALUE); | ||||||
|     argParseAddGlobalArg( |     argParseAddGlobalArg( | ||||||
|         argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, NOVALUE); |         argparse, "-q", "--quiet", "Quiet mode", NULL, NULL, false, ArgParseNOVALUE); | ||||||
|  |  | ||||||
|     // add arguments |     // add arguments | ||||||
|     command = argParseAddCommand( |     command = argParseAddCommand( | ||||||
|         argparse, "install", "Install the package", NULL, NULL, NULL, NOVALUE); |         argparse, "install", "Install the package", NULL, NULL, NULL, ArgParseNOVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-i", |                    "-i", | ||||||
|                    "--index", |                    "--index", | ||||||
| @@ -31,7 +31,7 @@ ArgParse *initArgParse() { | |||||||
|                    "https://example.com", |                    "https://example.com", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    SINGLEVALUE); |                    ArgParseSINGLEVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-f", |                    "-f", | ||||||
|                    "--file", |                    "--file", | ||||||
| @@ -39,7 +39,7 @@ ArgParse *initArgParse() { | |||||||
|                    "package.json", |                    "package.json", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-p", |                    "-p", | ||||||
|                    "--package", |                    "--package", | ||||||
| @@ -47,10 +47,10 @@ ArgParse *initArgParse() { | |||||||
|                    "package.json", |                    "package.json", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    false, |                    false, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     sub_command = argParseAddSubCommand( |     sub_command = argParseAddSubCommand( | ||||||
|         command, "tools", "Install tools", NULL, NULL, NULL, MULTIVALUE); |         command, "tools", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     argParseAddArg(sub_command, |     argParseAddArg(sub_command, | ||||||
|                    "-t", |                    "-t", | ||||||
| @@ -59,9 +59,9 @@ ArgParse *initArgParse() { | |||||||
|                    "Tool name", |                    "Tool name", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|     sub_command = argParseAddSubCommand( |     sub_command = argParseAddSubCommand( | ||||||
|         command, "tools_sub", "Install tools", NULL, NULL, NULL, MULTIVALUE); |         command, "tools_sub", "Install tools", NULL, NULL, NULL, ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     argParseAddArg(sub_command, |     argParseAddArg(sub_command, | ||||||
|                    "-s", |                    "-s", | ||||||
| @@ -70,7 +70,7 @@ ArgParse *initArgParse() { | |||||||
|                    "tools subcommand test", |                    "tools subcommand test", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     command = argParseAddCommand(argparse, |     command = argParseAddCommand(argparse, | ||||||
|                                  "uninstall", |                                  "uninstall", | ||||||
| @@ -78,7 +78,7 @@ ArgParse *initArgParse() { | |||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  NULL, |                                  NULL, | ||||||
|                                  SINGLEVALUE); |                                  ArgParseSINGLEVALUE); | ||||||
|     argParseAddArg(command, |     argParseAddArg(command, | ||||||
|                    "-p", |                    "-p", | ||||||
|                    "--package", |                    "--package", | ||||||
| @@ -86,7 +86,7 @@ ArgParse *initArgParse() { | |||||||
|                    "Package name", |                    "Package name", | ||||||
|                    NULL, |                    NULL, | ||||||
|                    true, |                    true, | ||||||
|                    MULTIVALUE); |                    ArgParseMULTIVALUE); | ||||||
|  |  | ||||||
|     return argparse; |     return argparse; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user