argparse
                                
                                 argparse copied to clipboard
                                
                                    argparse copied to clipboard
                            
                            
                            
                        Support parsing arguments partially
It is very useful to parse args partially, like in Python - https://docs.python.org/3/library/argparse.html#partial-parsing
Typical usecase - add additional options, depending on the value of another option.
igorcoding, there is mutex(...) method for your use-case.
How does it solve my use case? My goal is to call parse multiple times, for example
- User calls program with arguments ./my_program --template=basic --basic_option1=value1
- In lua we define argument --templateto argparse
- Call a hypothetical parse_known_argsto parse only arguments we defined and ignore others (because right now parse() fails if encounters unknown args)
- Then depending on value of passed templateargument we add additional arguments to argparse, usingparser:option("--basic_option1", "Option 1")
- And then call parse() again and receiving a complete set of user-specified arguments.
This is also useful with the help messages - collect all arguments and only then display all valid options even if user specified template, i.e. ./my_program --template=basic -h