aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker/src/parselib.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat(mingling_picker): replace bool Matcher with FlagMatcherfeat/picker2魏曹先生12 hours1-1/+2
| | | | | | Rename `bool_matcher` module to `flag_matcher` and introduce a dedicated `FlagMatcher` struct, moving matching logic away from the `bool` type itself
* feat(picker): return NotFound for unmatched boolean flags魏曹先生16 hours1-1/+3
|
* feat(picker): add builtin bool pickable and parselib matcher framework魏曹先生22 hours1-0/+127
| | | | | | | | 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.
* refactor(pickable): redesign Pickable trait with two-phase parse API魏曹先生37 hours1-3/+0
| | | | | | | | | | | | | | 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魏曹先生45 hours1-0/+3
|
* feat(mingling): add ParserStyle and re-export parselib module魏曹先生47 hours1-0/+2
| | | | | | | | | | | Add a configurable `ParserStyle` struct defining option prefix, separator and case-sensitivity conventions, with built-in constants for Unix, PowerShell and Windows styles. Provide a one-time global style setter. Re-export the new `parselib` module from `mingling_picker` and wire it through `mingling`'s `picker` facade. Also relocate `Groupped` and `RenderResult` re-exports in `prelude` for better ordering.
* feat(picker): add parselib module and README魏曹先生48 hours1-0/+0