| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | docs: add ARCHIVED.md documenting picker2 squasharchived/picker2_prototype | 魏曹先生 | 15 hours | 1 | -0/+5 |
| | | |||||
| * | docs(dev): update progress status in add-picker2.md | 魏曹先生 | 16 hours | 1 | -192/+11 |
| | | |||||
| * | fix(vec_until): reorganize imports and clean up formatting | 魏曹先生 | 16 hours | 1 | -12/+14 |
| | | |||||
| * | refactor(multi_pickable): extract `VecUntil` into its own module | 魏曹先生 | 16 hours | 4 | -127/+139 |
| | | |||||
| * | feat: add multi-value argument support with boundary checking | 魏曹先生 | 16 hours | 8 | -1/+657 |
| | | | | | | | | | | | Add `MultiArgMatcher` for greedy flag matching and `MultiPickableWithBoundary` trait with `VecUntil<T>` wrapper for bounded multi-value collection. Introduce `BoundaryCheck` trait to allow positional multi-value parameters to stop consuming arguments when a non-matching value is encountered. | ||||
| * | fix: hide internal macro from documentation | 魏曹先生 | 17 hours | 1 | -0/+1 |
| | | | | | | | Make `vec_string_slice!` private to the crate by adding `#[doc(hidden)]` attribute, since it is an implementation detail not intended for public API consumption | ||||
| * | fix(docs): add intra-doc links to cross-crate symbols | 魏曹先生 | 17 hours | 4 | -4/+4 |
| | | |||||
| * | feat(mingling_picker): reorder PositionalMulti to lowest parse priority | 魏曹先生 | 17 hours | 1 | -14/+14 |
| | | |||||
| * | fix(single-matcher): drop incomplete named flag pairs | 魏曹先生 | 18 hours | 3 | -9/+115 |
| | | |||||
| * | refactor(value): extract Flag into its own module | 魏曹先生 | 18 hours | 2 | -145/+147 |
| | | |||||
| * | feat(flag): implement Not operator for Flag | 魏曹先生 | 19 hours | 1 | -1/+12 |
| | | |||||
| * | feat(pickable): extract SinglePickable into its own module | 魏曹先生 | 19 hours | 2 | -44/+72 |
| | | |||||
| * | feat(builtin): add SinglePickable impl for numeric types | 魏曹先生 | 19 hours | 2 | -0/+21 |
| | | |||||
| * | feat(pickable): introduce SinglePickable trait | 魏曹先生 | 19 hours | 2 | -15/+51 |
| | | | | | | Extract a simplified trait for types that consume exactly one argument, with a blanket implementation of the existing Pickable trait | ||||
| * | refactor(pickable): extract seek_single helper from pick_string | 魏曹先生 | 19 hours | 2 | -12/+29 |
| | | |||||
| * | refactor(picker): extract single-value tag logic into SingleMatcher | 魏曹先生 | 19 hours | 3 | -26/+45 |
| | | |||||
| * | feat(picker): add with_route method to change phantom route type | 魏曹先生 | 19 hours | 1 | -0/+16 |
| | | |||||
| * | feat(pick_string): filter flags without values in match_all path | 魏曹先生 | 19 hours | 1 | -12/+16 |
| | | | | | | Return empty results when a single token is a flag with no inline value separator, preventing false positive pick matches | ||||
| * | fix(arg_matcher): prevent `--` from being consumed as flag value | 魏曹先生 | 20 hours | 2 | -1/+43 |
| | | |||||
| * | feat(parselib): introduce PositionalMatcher for positional-only args | 魏曹先生 | 20 hours | 5 | -2/+218 |
| | | | | | | | | Extract positional argument matching from ArgMatcher into a dedicated matcher that respects the `--` terminator and skips flag-like tokens before it. Add test suite covering basic, after-`--`, and Windows-style behaviour. | ||||
| * | refactor(arg): simplify escape handling in char extraction | 魏曹先生 | 23 hours | 2 | -6/+5 |
| | | | | | | | Remove redundant comment lines from pick_string and replace explicit escape mappings in arg macro with a catch-all that handles both literal and control characters | ||||
| * | feat(picker): add string value support with inline value matching | 魏曹先生 | 23 hours | 5 | -13/+239 |
| | | | | | | Implement `Pickable` for `String` supporting both positional and named flags, and generalize value matching to use style-specific separators | ||||
| * | refactor: extract `seek_end_of_options` into utils and add test helpers | 魏曹先生 | 23 hours | 6 | -79/+37 |
| | | | | | | | Deduplicate the `seek_end_of_options` function by moving it from both `arg_matcher` and `flag_matcher` into a single shared implementation in utils. Add `make_masked` and `make_args` test helpers to the test crate | ||||
| * | feat(parselib): implement ArgMatcher for named and positional args | 魏曹先生 | 23 hours | 3 | -9/+420 |
| | | | | | | | Implement `on_match_one` and `on_match_all` for `ArgMatcher`, supporting named flags (with eq-mode and short flags), positional arguments, end-of-options marker (`--`), and case-insensitive matching | ||||
| * | refactor(flag_matcher): replace `vec_string_slice!` with single-pass | 魏曹先生 | 23 hours | 1 | -17/+62 |
| | | | | | iteration | ||||
| * | feat(picker): add `Flag` value type and `Pickable` implementation | 魏曹先生 | 24 hours | 18 | -46/+509 |
| | | | | | | | | | | Add a new `Flag` enum in `mingling_picker::value` that explicitly distinguishes between an absent flag (`Inactive`) and a present flag (`Active`), along with its `Pickable` implementation. Rename internal fields from `flag_*` to `arg_*` for consistency, update the default naming case to `Kebab`, and enable the `mingling_support` feature in workspace settings. | ||||
| * | fix: replace `macros::flag` with `macros::arg` in tests | 魏曹先生 | 24 hours | 2 | -2/+2 |
| | | |||||
| * | chore: remove unused corebind re-export under `core` feature | 魏曹先生 | 25 hours | 1 | -3/+0 |
| | | |||||
| * | refactor: rename PickerFlag and PickerFlagAttr to PickerArg and | 魏曹先生 | 26 hours | 12 | -142/+140 |
| | | | | | PickerArgAttr | ||||
| * | refactor: rename flag module to arg | 魏曹先生 | 26 hours | 2 | -2/+2 |
| | | |||||
| * | feat(mingling_picker): replace bool Matcher with FlagMatcher | 魏曹先生 | 37 hours | 4 | -18/+28 |
| | | | | | | | Rename `bool_matcher` module to `flag_matcher` and introduce a dedicated `FlagMatcher` struct, moving matching logic away from the `bool` type itself | ||||
| * | feat(picker): add from_args and from_args_skip constructors | 魏曹先生 | 39 hours | 1 | -0/+25 |
| | | |||||
| * | chore(deps): bump just_fmt from 0.1.2 to 0.2.0 | 魏曹先生 | 40 hours | 35 | -78/+120 |
| | | |||||
| * | feat(parselib): apply naming case conversion to long flags and aliases | 魏曹先生 | 41 hours | 2 | -4/+75 |
| | | |||||
| * | refactor(test): split monolithic test file into module files | 魏曹先生 | 41 hours | 4 | -567/+572 |
| | | |||||
| * | test: add multi-style flag parsing tests | 魏曹先生 | 41 hours | 1 | -1/+146 |
| | | | | | | Add comprehensive test coverage for Windows, PowerShell, and UNIX style flag matching, including case sensitivity and end-of-options behavior | ||||
| * | feat(picker): return NotFound for unmatched boolean flags | 魏曹先生 | 41 hours | 2 | -2/+10 |
| | | |||||
| * | feat(test): add comprehensive bool flag and route tests | 魏曹先生 | 41 hours | 1 | -1/+412 |
| | | |||||
| * | fix(mingling_picker): correct mask size and arg index in tag phase | 魏曹先生 | 46 hours | 1 | -3/+3 |
| | | | | | | | | 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. | ||||
| * | test: add integration test crate for mingling_picker | 魏曹先生 | 46 hours | 4 | -0/+96 |
| | | |||||
| * | feat(picker): remove route phantom from IntoPicker trait | 魏曹先生 | 46 hours | 2 | -11/+52 |
| | | | | | | | 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. | ||||
| * | chore: add test projects to IDE linked projects | 魏曹先生 | 46 hours | 2 | -1/+8 |
| | | |||||
| * | fix: set default type parameter for `Picker` struct | 魏曹先生 | 47 hours | 2 | -3/+3 |
| | | | | | Update doc examples to pass `String` instead of `&str` to `convert` | ||||
| * | feat(picker): add builtin bool pickable and parselib matcher framework | 魏曹先生 | 47 hours | 11 | -9/+595 |
| | | | | | | | | | 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. | ||||
| * | chore(version): add standalone crate version tracking in README | 魏曹先生 | 2 days | 2 | -0/+11 |
| | | |||||
| * | feat(picker): add unwrap, unpack, to_result, to_option on PickerPattern | 魏曹先生 | 2 days | 3 | -32/+44 |
| | | |||||
| * | fix: move mask initialization outside bundle loop in parse.rs | 魏曹先生 | 2 days | 1 | -3/+3 |
| | | |||||
| * | feat(picker): add argument-position mask to tag phase | 魏曹先生 | 2 days | 2 | -3/+15 |
| | | | | | | | 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 | ||||
| * | feat(picker): add early route on missing flag | 魏曹先生 | 2 days | 5 | -11/+77 |
| | | | | | | | | 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 | 魏曹先生 | 2 days | 1 | -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. | ||||
