aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker/src/infos.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker): add builtin bool pickable and parselib matcher framework魏曹先生17 hours1-0/+5
| | | | | | | | Add `Pickable` implementation for `bool` and the supporting `Matcher` trait with utility functions for argument matching. Expose `pickable_needed` and `matcher_needed` modules for downstream trait implementors.
* feat(picker): add early route on missing flag魏曹先生20 hours1-0/+25
| | | | | | | 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.
* refactor: remove ParseError variant from PickerArgResult魏曹先生20 hours1-17/+7
| | | | | | The ParseError variant has been removed and its usages in From, is_found, is_err, and unwrap have been updated to use NotFound instead, simplifying the error handling model.
* refactor: rename `PickerResult` to `PickerArgResult` and add new魏曹先生21 hours1-72/+72
| | | | `PickerResult` struct
* refactor: remove unnecessary `Default` bound from `Pickable` trait魏曹先生21 hours1-2/+2
|
* refactor(pickable): redesign Pickable trait with two-phase parse API魏曹先生33 hours1-19/+5
| | | | | | | | | | | | | | 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`.
* refactor: consolidate result and tag modules into infos魏曹先生34 hours1-0/+440