aboutsummaryrefslogtreecommitdiff
path: root/mingling_picker_macros/src
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker): add `mingling_support` feature and `is_flag` field魏曹先生33 hours1-0/+5
| | | | | | | Rename the `core` feature to `mingling_support` in `mingling_picker` and propagate it through `mingling_picker_macros`. Add the `is_flag` field to `PickerTag` to indicate participation in parsing after a `--` separator. Remove empty `seek.rs` file.
* feat: use `From<TokenStream>` conversion instead of parsing string魏曹先生2 days1-1/+1
|
* fix(flag): simplify argument parsing by removing name inference魏曹先生2 days1-30/+14
|
* feat(mingling_picker_macros): add $+ $- $^ special tokens to魏曹先生2 days1-42/+155
| | | | | | | | | | | | | | | | 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 days2-14/+14
| | | | PickerFlag
* refactor(mingling_picker): move parse result out of requirement and into魏曹先生2 days1-31/+32
| | | | | | | | | | 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 days2-27/+25
| | | | | 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 days3-0/+447
| | | | | | | | | | | | | | | | | | | | | | 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`.
* feat: add mingling-picker and mingling-picker-macros crates魏曹先生5 days1-0/+1