| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Rename `bool_matcher` module to `flag_matcher` and introduce a dedicated
`FlagMatcher` struct, moving matching logic away from the `bool` type
itself
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Add comprehensive test coverage for Windows, PowerShell, and UNIX style
flag matching, including case sensitivity and end-of-options behavior
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Previously, the mask was sized by the template param `$` and
arg indexing used `$-`, causing incorrect results when the
actual number of arguments differed from the macro expansion
count.
|
| | |
|
| |
|
|
|
|
| |
Add `with_route` methods to `IntoPicker` and `PickerPattern` for
setting the route type explicitly when needed, instead of carrying
it as a generic parameter on the trait itself.
|
| | |
|
| |
|
|
| |
Update doc examples to pass `String` instead of `&str` to `convert`
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Pass a mutable mask to tag functions so Pickable implementations can
detect which argument positions have already been claimed by other
Pickables during the same parsing pass
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
`PickerResult` struct
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
Define a `core` feature in mingling_picker that gates a new `corebind`
module and re-exports its contents. The module is propagated to the
upstream `mingling` crate under the same feature flag.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Vec<String>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
PickerFlag
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Refactor multiple `if let` patterns in macros to use the let-chain
syntax for improved readability
|