aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker): add parselib module and README魏曹先生46 hours4-0/+41
|
* feat: add `picker` feature to doc build scripts魏曹先生46 hours2-2/+2
|
* feat(patterns): add `or` and `post` builder methods to pattern types魏曹先生46 hours1-2/+53
|
* feat(picker): add default and post-processing hooks for flags魏曹先生47 hours2-0/+16
|
* refactor: rename requirement.rs to flag.rs魏曹先生47 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>
* docs(dev): add current progress overview for Picker2 implementation魏曹先生3 days1-0/+195
|
* feat: use `From<TokenStream>` conversion instead of parsing string魏曹先生3 days1-1/+1
|
* fix(flag): simplify argument parsing by removing name inference魏曹先生3 days1-30/+14
|
* feat(picker): add `pick` method to start and extend flag chains魏曹先生3 days2-0/+27
|
* feat(mingling_picker_macros): add $+ $- $^ special tokens to魏曹先生3 days2-46/+188
| | | | | | | | | | | | | | | | 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魏曹先生3 days5-47/+47
| | | | PickerFlag
* refactor(mingling_picker): move parse result out of requirement and into魏曹先生3 days3-73/+60
| | | | | | | | | | 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魏曹先生3 days3-27/+42
| | | | | Refactor multiple `if let` patterns in macros to use the let-chain syntax for improved readability
* chore: add mingling_picker Cargo.toml to rust-analyzer linked projects魏曹先生3 days2-2/+5
|
* feat(picker): add core trait, types, and builder macro for argument魏曹先生3 days11-6/+1006
| | | | | | | | | | | | | | | | | | | | | | 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魏曹先生3 days3-3/+4
|
* fix: correct typo in module nameHEADmain魏曹先生5 days1-1/+1
|
* docs: Update help functions note to use `writeln!` instead of魏曹先生5 days2-2/+2
| | | | `r_println!`
* feat(renderer): change render_greeting to return RenderResult魏曹先生5 days1-2/+4
|
* docs(readme): add CI workflow badge魏曹先生5 days1-0/+1
|
* refactor(docs): mark documentation update as completed魏曹先生5 days1-1/+1
|
* docs(changelog): document RenderResult::new and removed r_print macrosversion/0.3.0魏曹先生5 days2-4/+27
|
* style: Reorder imports and reformat code with cargo fmt魏曹先生5 days12-29/+35
|
* docs: migrate renderers from `r_println!` to `RenderResult` return type魏曹先生5 days22-174/+276
|
* feat(mingling): add Write import and doc comment for picker re-export魏曹先生5 days1-1/+4
|
* docs(readme): migrate renderer examples from r_print macros to魏曹先生5 days1-30/+71
| | | | | | | | | | RenderResult Replace all uses of `r_print!` and `r_println!` with the new `RenderResult`-based API in the documentation. Add missing `use` imports (`pack`, `prelude`, `std::io::Write`) to make code examples self-contained and runnable.
* docs: mark remove-r-print-macro tasks as complete魏曹先生5 days1-4/+4
|
* refactor(examples): migrate renderers to return RenderResult and add魏曹先生5 days27-280/+561
| | | | | | | | | std::io::Write import Replace r_println!/r_print! macro usage across all example renderers with explicit RenderResult construction using std::io::Write, enabling more flexible output handling and reducing reliance on macro-side effects.
* fix(docs): correct RenderResult usage examples to use mut binding and魏曹先生5 days1-7/+10
| | | | add Write import
* feat(renderer): add new() constructor to RenderResult魏曹先生5 days1-0/+17
|
* feat: require renderers to return RenderResult instead of mutating one魏曹先生5 days17-383/+268
| | | | | | | BREAKING CHANGE: The `render` method on `Renderer`, `HelpRequest`, and `ProgramCollect` now returns `RenderResult` instead of taking `&mut RenderResult`. The `r_print!` and `r_println!` macros have been removed in favor of using `std::io::Write` directly on `RenderResult`.
* chore: add Release 0.3.0 entry to changelog魏曹先生5 days1-0/+21
|
* docs(dev): add changelog template魏曹先生5 days2-0/+29
|
* feat(run): update `.run` to 0.1.1魏曹先生5 days2-6/+24
|
* chore: rename release binary to RELEASE-WORKSPACE魏曹先生5 days1-0/+0
|
* feat(release): add workspace release script and refactor run_cmd helpers魏曹先生5 days4-4/+178
|
* chore(picker): add mingling_core as a dependency魏曹先生5 days2-0/+4
|
* chore: add linked project config for Cargo workspace魏曹先生5 days2-0/+2
|
* refactor: extract dependency order logic into a shared module魏曹先生5 days3-184/+186
|
* feat: add binary to display dependency order of workspace crates魏曹先生5 days1-0/+194
| | | | | | Introduce a new binary that parses workspace Cargo.toml, collects crates matching a specified prefix, and outputs them in topological dependency order with same-level crates sorted alphabetically
* docs: fix trailing whitespace in add-picker2.md魏曹先生6 days1-7/+7
|
* Update add-picker2.md魏曹先生6 days1-0/+76
|
* docs(dev): add Picker2 arguments parser issue page魏曹先生6 days3-0/+22
|
* chore: bump workspace version to 0.3.0魏曹先生6 days38-238/+110
|
* feat: add mingling-picker and mingling-picker-macros crates魏曹先生6 days11-54/+93
|
* feat: add CI check workflow and update contributing guideunreleased魏曹先生6 days2-21/+155
|
* fix(docs): reduce docs sidebar depth to match maxLevel魏曹先生6 days3-3/+3
|
* docs: migrate ABOUT-CI and ABOUT-NIGHTLY to dev docs site魏曹先生6 days4-6/+14
| | | | | | Replace relative file links with absolute URLs and add centered page headers to the migrated docs. Update the dev sidebar to include the new pages.