| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Add `docs_rs` feature flag to enable docs.rs-specific configuration,
including `--generate-link-to-definition` and logo display.
Include the feature in build scripts, editor settings, and feature
constants for consistent documentation generation.
|
| |
|
|
|
|
|
|
| |
Update all documentation and code examples to use the new
`#[renderer(buffer)]`
pattern with `r_println!` instead of manually constructing
`RenderResult`
with `writeln!`.
|
| |
|
|
|
|
|
|
|
|
|
| |
macros
Reintroduce `r_print!` and `r_println!` macros as public exports, now
supporting both explicit buffer argument and implicit `#[buffer]` attr.
Add `#[buffer]` attribute macro that wraps unit-returning functions to
produce a `RenderResult` with an automatically injected buffer variable.
Relax `RenderResult::print()` and `println()` to accept `impl
AsRef<str>`.
|
| |
|
|
|
|
|
|
|
|
| |
Remove the `Default` bound from `pick()` and `EntryPicker::pick()`,
allowing non-Default types to be used as arguments.
Add `IntoPicker::pick_or`, `pick_or_default`, and `pick_or_route`
convenience methods for common fallback patterns.
Fix token splitting in `arg!` macro to correctly handle angle brackets.
|
| |
|
|
|
| |
Move routing methods exclusively to the `Routable` trait and update
all macro-generated code to reference `Routable` instead of `Grouped`
|
| |
|
|
|
| |
Move the REMAINS constant definition into arg_picker and re-export it
through mingling's constants module for unified access
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
enabled
|
| | |
|
| |
|
|
|
|
|
|
| |
BREAKING CHANGE: Remove `mingling_support` feature from arg-picker
crate. The
`EntryPicker` trait and `corebind` module are now part of the mingling
crate
directly, and `build_pattern1` is now a public method.
|
| |
|
|
|
| |
Move the inline `remains_arg` definition into a shared public constant
`REMAINS` and update all consumers to import it from the new location.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
formatting
Add `MINGLING_CORE` and `MINGLING_MACROS` feature flag constants to
the mingling crate, mirroring existing pattern for other features
Reorganize imports and reformat closures in mingling_picker for
consistent style
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Picker2 replaces the original Picker1 with a two-phase (tag → pick) +
mask-bitmap architecture, decoupling argument matching from type
conversion via a composable matcher pipeline.
Architecture
- FlagMatcher — boolean flags (--verbose)
- ArgMatcher — single flag+value pairs (--name Alice)
- MultiArgMatcher — multi-value flag groups (--files a.txt b.txt)
- PositionalMatcher — positional arguments, respects `--`
- SingleMatcher — composite for Single-type Pickables
Types
- Flag (Active/Inactive) — semantic bool flag value
- String + 14 numeric types via SinglePickable trait
- Vec<T> — greedy multi-value (all SinglePickable types)
- VecUntil<T> — bounded multi-value via BoundaryCheck trait
- VecUntil<T>, pick_string, pick_numbers, pick_bool, pick_flag
Style system
- UNIX_STYLE (kebab), POWERSHELL_STYLE (Pascal), WINDOWS_STYLE (Pascal)
- naming_case auto-conversion via just_fmt integration
- Style-aware separator (= for Unix, : for PS/Windows)
Infrastructure
- internal_repeat! macro generates PickerPattern1..=32
- SinglePickable blanket impl → Pickable
- MultiPickableWithBoundary trait with greedy/bounded variants
- 151 integration tests
- Docs updated for parser feature
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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`.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Add four new resource types for common directory paths and a
convenience setup struct that registers all of them at once.
|
| |
|
|
|
|
|
|
| |
Add module-level docs for the hook system, enhance doc examples for
macros
with usage syntax, fix typos in cross-references, and hide internal
debugging
macros and mock types from public documentation
|
| |
|
|
|
|
|
| |
Support `&mut T` resource parameters in async chain functions by using
an extract-store pattern that avoids holding mutable borrows across
await
points. Remove the previous compile-time rejection of this combination.
|
| | |
|
| |
|
|
|
|
|
| |
Introduce `StructuralData` sealed trait and `pack_structural!` /
`group_structural!` / `derive(StructuralData)` macros to control
structured rendering separately from grouping. `Groupped` no longer
requires `Serialize`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
`route!()` now calls `Groupped::to_chain()` on the error branch,
removing the need for callers to pre-convert with `.to_chain()` or
`.to_render()`.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|