| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Add `with_route` methods to `IntoPicker` and `PickerPattern` for
setting the route type explicitly when needed, instead of carrying
it as a generic parameter on the trait itself.
|
| |
|
|
|
|
|
| |
Introduce `or_route` and a `PickerResult` type that carries an optional
route value. When a flag is absent, the closure given to `or_route` is
evaluated and stored in `error_route`, allowing the caller to exit early
without a default value.
|
| | |
|
| |
|
|
| |
`PickerResult` struct
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
internal_repeat
Extend the `internal_repeat` macro with new special tokens:
- `$+`/`ident$+` for current + 1
- `$-`/`ident$-` for current - 1 (clamped at 0)
- `$^`/`ident$^` for min (aka start) value
Move the repetition marker from outside the paren to the last token
inside, supporting `(group,+)` syntax where `+` is the final token.
A trailing `+` or `-` after `)` shifts the repetition count.
Add `PickerPattern::pick` method using new syntax to allow
incremental composition of typed picks.
|
| |
|
|
| |
PickerFlag
|
| |
|
|
|
|
|
|
|
|
| |
pattern
BREAKING CHANGE: `PickerRequirement` no longer stores a `PickerResult`.
Parsed results are now held in the `PickerPattern` structs.
The `result`, `result_mut`, `set_result`, `reset_result`, and
`with_result` methods on `PickerRequirement` have been removed.
The `Picker::pick` method is introduced to begin a pattern definition.
|
|
|
parsing
Implement the foundational `mingling_picker` library along with its
companion
`mingling_picker_macros` crate. The picker provides:
- `Pickable` trait for parsing types from raw strings
- `PickerResult` enum modeling parse outcomes
- `Picker` struct for storing and indexing command-line arguments
- `PickerRequirement` struct for declarative parameter definitions
- `PickerPattern` family (1..32) of typed pattern structs via the
`internal_repeat` proc macro
- `req!` proc macro as a succinct builder for `PickerRequirement`
Re-export `mingling_picker::macros::*` from the `mingling` crate when
the
`picker` feature is enabled, replacing the previous wildcard re-export
of
`mingling_macros`.
|