aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker): add parselib module and README魏曹先生44 hours3-0/+37
|
* feat(patterns): add `or` and `post` builder methods to pattern types魏曹先生44 hours1-2/+53
|
* feat(picker): add default and post-processing hooks for flags魏曹先生44 hours2-0/+16
|
* refactor: rename requirement.rs to flag.rs魏曹先生44 hours2-2/+2
|
* feat(mingling_picker): rename FormatError to ParseError and add parse魏曹先生2 days3-18/+224
| | | | | | | | | 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.
* feat(picker): add IntoPicker impl for &[String] and &T deref to魏曹先生2 days1-1/+22
| | | | Vec<String>
* feat(picker): add `pick` method to start and extend flag chains魏曹先生2 days2-0/+27
|
* feat(mingling_picker_macros): add $+ $- $^ special tokens to魏曹先生2 days1-4/+33
| | | | | | | | | | | | | | | | 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.
* refactor: rename PickerArguments to PickerArgs and PickerRequirement to魏曹先生2 days3-33/+33
| | | | PickerFlag
* refactor(mingling_picker): move parse result out of requirement and into魏曹先生2 days2-42/+28
| | | | | | | | | | 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.
* feat(picker): add `is_empty` method and refactor `if let` chains魏曹先生2 days1-0/+17
| | | | | Refactor multiple `if let` patterns in macros to use the let-chain syntax for improved readability
* feat(picker): add core trait, types, and builder macro for argument魏曹先生2 days7-1/+554
| | | | | | | | | | | | | | | | | | | | | | 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`.
* chore(deps): move mingling_picker_macros dependency to picker crate魏曹先生2 days1-0/+1
|
* fix: correct typo in module nameHEADmain魏曹先生5 days1-1/+1
|
* chore(picker): add mingling_core as a dependency魏曹先生5 days1-0/+1
|
* feat: add mingling-picker and mingling-picker-macros crates魏曹先生5 days3-0/+12