aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker/src/picker/parse.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker): add `Flag` value type and `Pickable` implementation魏曹先生86 min.1-5/+5
| | | | | | | | | Add a new `Flag` enum in `mingling_picker::value` that explicitly distinguishes between an absent flag (`Inactive`) and a present flag (`Active`), along with its `Pickable` implementation. Rename internal fields from `flag_*` to `arg_*` for consistency, update the default naming case to `Kebab`, and enable the `mingling_support` feature in workspace settings.
* refactor: rename PickerFlag and PickerFlagAttr to PickerArg and魏曹先生3 hours1-4/+2
| | | | PickerArgAttr
* fix(mingling_picker): correct mask size and arg index in tag phase魏曹先生24 hours1-3/+3
| | | | | | | Previously, the mask was sized by the template param `$` and arg indexing used `$-`, causing incorrect results when the actual number of arguments differed from the macro expansion count.
* feat(picker): add unwrap, unpack, to_result, to_option on PickerPattern魏曹先生27 hours1-1/+44
|
* fix: move mask initialization outside bundle loop in parse.rs魏曹先生28 hours1-3/+3
|
* feat(picker): add argument-position mask to tag phase魏曹先生28 hours1-3/+9
| | | | | | Pass a mutable mask to tag functions so Pickable implementations can detect which argument positions have already been claimed by other Pickables during the same parsing pass
* feat(picker): add early route on missing flag魏曹先生28 hours1-11/+24
| | | | | | | 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.
* feat(picker): add Route generic parameter for error routing魏曹先生28 hours1-21/+19
|
* refactor: remove unnecessary `Default` bound from `Pickable` trait魏曹先生29 hours1-4/+106
|
* feat: add lifetime-bound pickable support and refine type constraints魏曹先生2 days1-1/+1
|
* feat(mingling_picker): rename FormatError to ParseError and add parse魏曹先生3 days1-0/+17
module Remove unnecessary Pickable trait bounds on PickerResult and its From implementations. Introduce a new `parse` module with macro-generated parse stubs for up to 32 tuple types.