aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix(doc): target doc generation at mingling workspace root魏曹先生46 hours2-2/+10
| | | | | Use `--manifest-path mingling/Cargo.toml` instead of `--workspace` to avoid generating documentation for unintended root workspace crates
* feat(ci): add coverage test job with cargo-llvm-cov魏曹先生46 hours3-1/+7
|
* feat: add coverage test runner script魏曹先生46 hours2-0/+110
| | | | | | Add a helper script `.run/src/bin/cov-test.rs` that generates HTML coverage reports using `cargo llvm-cov` and moves the output files to the `docs/cov-test/` directory
* refactor: extract `docs.rs` feature reading into reusable function魏曹先生46 hours2-31/+80
|
* docs(readme): update milestone checklist status魏曹先生2 days1-1/+2
|
* docs: migrate renderer examples to buffer macro and update docs魏曹先生2 days23-341/+298
| | | | | | | | Update all documentation and code examples to use the new `#[renderer(buffer)]` pattern with `r_println!` instead of manually constructing `RenderResult` with `writeln!`.
* feat(macros): add `#[buffer]` attribute and re-export `r_print!(ln)`魏曹先生2 days8-8/+288
| | | | | | | | | | | 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>`.
* feat(macros): preserve user function as standalone item in codegen魏曹先生2 days5-60/+150
| | | | | | | | | | | Refactor #[chain], #[renderer], #[help], and #[completion] macros to keep the original user function as a named item instead of inlining its body. Trait method implementations now call the original function by name, injecting resources from the application context. This improves debugging (stack traces reference user function names), error messages, and macro expansion clarity.
* feat: add pick_or, pick_or_default, and pick_or_route shorthands魏曹先生2 days3-5/+86
| | | | | | | | | | 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.
* fix: update import path for StructuralRendererSetup in魏曹先生2 days1-1/+2
| | | | GETTING_STARTED.md
* feat(ci): collect all doc-phase errors before failing魏曹先生2 days1-4/+16
|
* ci(ci): update cache keys to include .run directory and split by job魏曹先生2 days2-8/+8
|
* ci: upload docs test result artifact on failure魏曹先生2 days2-0/+14
|
* docs(guide): replace 'parser' feature with 'picker' in code examples魏曹先生2 days1-6/+9
|
* refactor: generalize config to support arbitrary file paths and globs魏曹先生2 days1-35/+20
|
* docs: update GETTING_STARTED.md to reflect new Picker API魏曹先生2 days1-54/+8
|
* feat(core)!: remove `to_chain` and `to_render` from `Grouped` trait魏曹先生2 days11-37/+39
| | | | | Move routing methods exclusively to the `Routable` trait and update all macro-generated code to reference `Routable` instead of `Grouped`
* feat(routeify): reorder import paths for consistency魏曹先生2 days1-1/+1
|
* docs: update README logo to icon3魏曹先生2 days3-1/+1
|
* feat(routeify): map `?` span to `route!` for tooling support魏曹先生2 days2-2/+31
| | | | | | Use the span of the `?` token when generating the macro invocation in the `#[routeify]` transformation, so that rust-analyzer resolves hover and go-to-definition on `?` to the `route!` macro's documentation
* refactor(windows-folder-hide): rewrite script with skip directories and魏曹先生2 days2-29/+99
| | | | unhide logic
* feat(arg-picker): add REMAINS constant and re-export via consts module魏曹先生2 days4-15/+30
| | | | | Move the REMAINS constant definition into arg_picker and re-export it through mingling's constants module for unified access
* fix(dispatcher): qualify to_chain call with Routable trait魏曹先生2 days1-1/+1
|
* feat(extensions): add routeify extension macro for error routing魏曹先生2 days5-40/+96
|
* chore(macros): reorganize module hierarchy in mingling_macros魏曹先生2 days26-740/+723
| | | | | | Restructure flat module layout into logical directories (attr/, derive/, func/, systems/, extensions/, utils.rs). Tighten internal function visibility to pub(crate). All public API signatures remain unchanged.
* feat(macros): add extension point mechanism for attribute macros魏曹先生2 days3-1/+175
| | | | | | | Implement an `extensions` module in `mingling_macros` that allows attribute macros to accept extension identifiers (e.g., `routeify`) which are re-dispatched as outer attributes before the core macro logic runs, enabling extensibility without modifying existing macros
* feat(multishell): add `picker` feature gate and deprecate conflicting魏曹先生2 days4-1/+44
| | | | | | | | | | | | methods Deprecate `ShellContext` methods `filling_argument_first`, `filling_argument`, `typing_argument`, `strip_typed_argument`, and `get_typed_arguments` when the `picker` feature is active, as they do not work under all `ParserStyle` settings. Add `#![allow(deprecated)]` to the affected modules to suppress warnings from internal usage.
* docs: update progress tracking for macro removal魏曹先生3 days1-6/+6
| | | | Mark all tasks as complete and finalize the checklist
* docs: update progress checklist in add-picker2魏曹先生3 days1-7/+7
|
* docs(examples): add example `example-argument-picker"`unreleased魏曹先生3 days7-0/+636
|
* docs(features): document the new `picker` feature魏曹先生3 days2-4/+28
|
* feat(macros): update `route!` to use `Routable` trait for error routing魏曹先生3 days1-1/+7
| | | | | | | Add `Routable` implementation for `ChainProcess<ThisProgram>` to enable direct routing of chain process values through the `route!` macro without double-wrapping, improving semantics and flexibility of error conversion
* feat(macros): add Routable trait and update route! macro魏曹先生3 days5-9/+76
| | | | | | Introduce a `Routable` trait with `to_chain` and `to_render` methods, replacing direct `Grouped` usage in the `route!` macro so error branches correctly route through the rendering pipeline
* fix!: rename `Groupped` to `Grouped` across the codebase魏曹先生3 days48-195/+206
|
* fix: correct example dispatcher target and fix list indentation魏曹先生3 days1-10/+10
|
* docs: add GETTING_STARTED.md and update README icon size魏曹先生3 days3-812/+843
|
* feat(macros:chain): accept any return type in chain functions魏曹先生3 days2-33/+48
|
* fix: propagate help flag to program context for global pickers魏曹先生3 days1-3/+12
|
* feat(arg_picker): add mingling_support feature flag魏曹先生3 days3-2/+8
|
* feat: deprecate basic and structural renderer setups when picker is魏曹先生3 days3-0/+43
| | | | enabled
* docs: add doc comments for Picker, AsPicker, and ProgramSetup traits魏曹先生3 days3-0/+25
|
* feat: migrate mingling-specific picker code into mingling crate魏曹先生3 days15-124/+149
| | | | | | | | 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.
* feat(picker): extract remains constant and consolidate imports魏曹先生3 days3-8/+26
| | | | | Move the inline `remains_arg` definition into a shared public constant `REMAINS` and update all consumers to import it from the new location.
* test(or_route): update panic message in test魏曹先生4 days1-2/+2
|
* refactor(picker): extract pick_flag helper to reduce duplication魏曹先生4 days3-26/+40
|
* feat(setups): refactor picker subsystem with new argument manipulation魏曹先生4 days1-0/+23
| | | | | | | | | | API Refactor six setup types into `mingling::setups::picker` to use chained `PickerArg<Flag>` parsing, replacing direct `global_argument` access. Add `get_args_mut`, `take_args`, and `replace_args` to `Program` for enhanced argument control. These changes are gated behind the `picker` feature, with legacy implementations preserved when the feature is off.
* feat(setups): add picker module with flag-based program setup魏曹先生4 days5-0/+333
|
* feat: add structural_renderer and all_serde_fmt cargo features魏曹先生4 days2-1/+10
|
* feat(picker): add From impls for PickerArgs to Vec conversions魏曹先生4 days1-0/+20
| | | | | | | Implement `From<PickerArgs>` for `Vec<String>` and `From<&PickerArgs>` for `Vec<&str>`, enabling seamless conversion from the picker arguments enum to owned or borrowed string vectors.
* feat(program): add mutable access, take, and replace for program args魏曹先生4 days1-0/+27
|