diff options
-rw-r--r-- | src/Test.java | 5 | ||||
-rwxr-xr-x | src/test.bash | 13 | ||||
-rw-r--r-- | src/test.c | 8 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/Test.java b/src/Test.java index 27473ab..a06a0fe 100644 --- a/src/Test.java +++ b/src/Test.java @@ -46,6 +46,7 @@ public class Test parser.add(new ArgParser.Argumentless(0, "++hidden")); parser.add(new ArgParser.Argumented("LINE", 0, "-l", "--line"), "Prints the choosen line"); + parser.add(new ArgParser.Optargumented("LINE", 0, "-L", "--Line"), "Prints the choosen line"); parser.add(new ArgParser.Variadic("LINE", 0, "--l", "--lines"), "Prints the choosen lines"); parser.parse(args); @@ -63,6 +64,10 @@ public class Test { for (String line : parser.opts.get("--line")) System.out.println(line); } + if (parser.opts.get("-L") != null) + { for (String line : parser.opts.get("--Line")) + System.out.println(line); + } if (parser.opts.get("--lines") != null) { for (String line : parser.opts.get("--l")) System.out.println(line); diff --git a/src/test.bash b/src/test.bash index 136439c..71e6137 100755 --- a/src/test.bash +++ b/src/test.bash @@ -49,8 +49,9 @@ args_add_argumentless '' 0 'Prints this help message\n(and exits)' -h -? --he args_add_argumentless '' 0 'Prints the text: hello world' --hello args_add_argumentless '' 0 '' ++hidden -args_add_argumented '' 0 LINE 'Prints the choosen line' -l --line -args_add_variadic '' 0 LINE 'Prints the choosen lines' --l --lines +args_add_argumented '' 0 LINE 'Prints the choosen line' -l --line +args_add_optargumented '' '' 0 LINE 'Prints the choosen line' -l --Line +args_add_variadic '' 0 LINE 'Prints the choosen lines' --l --lines args_parse "$@" args_support_alternatives @@ -74,6 +75,14 @@ elif [ $args_unrecognised_count = 0 ] && [ ! $args_argcount = 0 ] && [ ${#args_f (( i++ )) done fi + if args_option has -L; then + i=0 + n=$(args_option count --Line) + while (( $i < $n )); do + args_option get --Line $i + (( i++ )) + done + fi if args_option has --lines; then i=0 n=$(args_option count --l) @@ -48,6 +48,7 @@ int main(int argc, char** argv) args_add_option(args_new_argumentless(NULL, 0, "++hidden", NULL), 0); args_add_option(args_new_argumented(NULL, "LINE", 0, "-l", "--line", NULL), "Prints the choosen line"); + args_add_option(args_new_optargumented(NULL, NULL, "LINE", 0, "-L", "--Line", NULL), "Prints the choosen line"); args_add_option(args_new_variadic(NULL, "LINE", 0, "--l", "--lines", NULL), "Prints the choosen lines"); args_parse(argc, argv); @@ -70,6 +71,13 @@ int main(int argc, char** argv) for (n = args_opts_get_count("--line"); i < n; i++) printf("%s\n", *(arr + i)); } + if (args_opts_used("-L")) + { + i = 0; + arr = args_opts_get("--Line"); + for (n = args_opts_get_count("--Line"); i < n; i++) + printf("%s\n", *(arr + i)); + } if (args_opts_used("--lines")) { i = 0; |