aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker/src/pickable
Commit message (Collapse)AuthorAgeFilesLines
* feat(pickable): extract SinglePickable into its own module魏曹先生3 hours1-0/+69
|
* feat(picker): add unwrap, unpack, to_result, to_option on PickerPattern魏曹先生34 hours1-29/+0
|
* refactor: rename `PickerResult` to `PickerArgResult` and add new魏曹先生35 hours1-2/+2
| | | | `PickerResult` struct
* feat(flag): add PositionalMulti variant and convenience methods魏曹先生38 hours1-2/+2
|
* refactor(pickable): redesign Pickable trait with two-phase parse API魏曹先生47 hours1-30/+20
| | | | | | | | | | | | | | Introduce `get_attr`, `tag`, and `pick` as the new trait methods, replacing the single `tag` method that returned a `PickerTag`. This enables the parser to first collect all argument position requirements and then resolve them in a second pass. Rename `PickerTag` to `PickerArgInfo` and reorder `PickerFlagAttr` variants to reflect parse priority (`Positional < Flag < Single < Multi`). Add `positional_or_else` helper to `PickerFlagAttr`.
* feat: add lifetime-bound pickable support and refine type constraints魏曹先生2 days1-28/+24
|
* feat(picker): add core trait, types, and builder macro for argument魏曹先生3 days1-0/+43
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`.