mirror of
https://github.com/KeqingMoe/argparse.git
synced 2025-07-04 07:04:39 +00:00
Added prefix_chars and assign_chars to README #67
This commit is contained in:
parent
66730967aa
commit
632ca2fcf8
48
README.md
48
README.md
@ -39,6 +39,7 @@
|
|||||||
* [Subcommands](#subcommands)
|
* [Subcommands](#subcommands)
|
||||||
* [Parse Known Args](#parse-known-args)
|
* [Parse Known Args](#parse-known-args)
|
||||||
* [Custom Prefix Characters](#custom-prefix-characters)
|
* [Custom Prefix Characters](#custom-prefix-characters)
|
||||||
|
* [Custom Assignment Characters](#custom-assignment-characters)
|
||||||
* [Further Examples](#further-examples)
|
* [Further Examples](#further-examples)
|
||||||
* [Construct a JSON object from a filename argument](#construct-a-json-object-from-a-filename-argument)
|
* [Construct a JSON object from a filename argument](#construct-a-json-object-from-a-filename-argument)
|
||||||
* [Positional Arguments with Compound Toggle Arguments](#positional-arguments-with-compound-toggle-arguments)
|
* [Positional Arguments with Compound Toggle Arguments](#positional-arguments-with-compound-toggle-arguments)
|
||||||
@ -826,7 +827,9 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
### Custom Prefix Characters
|
### Custom Prefix Characters
|
||||||
|
|
||||||
Most command-line options will use `-` as the prefix, e.g. `-f/--foo`. Parsers that need to support different or additional prefix characters, e.g. for options like `+f` or `/foo`, may specify them using the `set_prefix_chars()`:
|
Most command-line options will use `-` as the prefix, e.g. `-f/--foo`. Parsers that need to support different or additional prefix characters, e.g. for options like `+f` or `/foo`, may specify them using the `set_prefix_chars()`.
|
||||||
|
|
||||||
|
The default prefix character is `-`.
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include <argparse/argparse.hpp>
|
#include <argparse/argparse.hpp>
|
||||||
@ -870,6 +873,49 @@ foo@bar:/home/dev/$ ./main +f 5 --bar 3.14f /foo "Hello"
|
|||||||
/foo : Hello
|
/foo : Hello
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Custom Assignment Characters
|
||||||
|
|
||||||
|
In addition to prefix characters, custom 'assign' characters can be set. This setting is used to allow invocations like `./test --foo=Foo /B:Bar`.
|
||||||
|
|
||||||
|
The default assign character is `=`.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
#include <argparse/argparse.hpp>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
argparse::ArgumentParser program("test");
|
||||||
|
program.set_prefix_chars("-+/");
|
||||||
|
program.set_assign_chars("=:");
|
||||||
|
|
||||||
|
program.add_argument("--foo");
|
||||||
|
program.add_argument("/B");
|
||||||
|
|
||||||
|
try {
|
||||||
|
program.parse_args(argc, argv);
|
||||||
|
}
|
||||||
|
catch (const std::runtime_error& err) {
|
||||||
|
std::cerr << err.what() << std::endl;
|
||||||
|
std::cerr << program;
|
||||||
|
std::exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (program.is_used("--foo")) {
|
||||||
|
std::cout << "--foo : " << program.get("--foo") << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (program.is_used("/B")) {
|
||||||
|
std::cout << "/B : " << program.get("/B") << "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```console
|
||||||
|
foo@bar:/home/dev/$ ./main --foo=Foo /B:Bar
|
||||||
|
--foo : Foo
|
||||||
|
/B : Bar
|
||||||
|
```
|
||||||
|
|
||||||
## Further Examples
|
## Further Examples
|
||||||
|
|
||||||
### Construct a JSON object from a filename argument
|
### Construct a JSON object from a filename argument
|
||||||
|
Loading…
Reference in New Issue
Block a user