blob: 5a3f2205267801f4549a2c8237460b2fc2f1d403 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# Mingling Picker Macros
Procedural macros for [Mingling Picker](https://github.com/mingling-rs/mingling/tree/main/mingling_picker), enabled by the `mingling/picker` feature.
```toml
[dependencies.mingling]
version = "0.3.0"
features = [
"picker"
]
```
## Provided Macros
### Macro `arg!`
Declares a parameter definition for use with `Picker`'s `.pick()` method:
```rust,ignore
use mingling_picker_macros::arg;
// Named flag with a value
let flag = arg![name: String];
// Named flag with short form
let flag = arg![name: String, 'n'];
// Named flag with alias
let flag = arg![name: String, 'n', "nickname"];
// Positional parameter
let flag = arg![String];
// Flag-only parameter (boolean)
let flag = arg![verbose: Flag];
```
### Macro `internal_repeat!` (Internal)
Internal macro used by Picker to generate `PickerPattern1..=32` and their parsing logic. Not intended for direct use.
|