Software /
code /
prosody
Comparison
util/argparse.lua @ 12477:cc84682b8429 0.12
util.argparse: Revise 553c6204fe5b with a different approach
The second return value is (not insensibly) assumed to be an error. Instead of
returning a value there in the success case, copy the positional arguments
into the existing opts table.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 25 Apr 2022 15:24:56 +0100 |
parent | 12475:553c6204fe5b |
child | 13058:766152afc1c9 |
comparison
equal
deleted
inserted
replaced
12475:553c6204fe5b | 12477:cc84682b8429 |
---|---|
3 local value_params = config and config.value_params or {}; | 3 local value_params = config and config.value_params or {}; |
4 | 4 |
5 local parsed_opts = {}; | 5 local parsed_opts = {}; |
6 | 6 |
7 if #arg == 0 then | 7 if #arg == 0 then |
8 return parsed_opts, arg; | 8 return parsed_opts; |
9 end | 9 end |
10 while true do | 10 while true do |
11 local raw_param = arg[1]; | 11 local raw_param = arg[1]; |
12 if not raw_param then | 12 if not raw_param then |
13 break; | 13 break; |
45 end | 45 end |
46 end | 46 end |
47 end | 47 end |
48 parsed_opts[param_k] = param_v; | 48 parsed_opts[param_k] = param_v; |
49 end | 49 end |
50 return parsed_opts, arg; | 50 for i = 1, #arg do |
51 parsed_opts[i] = arg[i]; | |
52 end | |
53 return parsed_opts; | |
51 end | 54 end |
52 | 55 |
53 return { | 56 return { |
54 parse = parse; | 57 parse = parse; |
55 } | 58 } |