| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat(macros): preserve user function as standalone item in codegen | 魏曹先生 | 4 days | 4 | -60/+140 |
| | | | | | | | | | | | | 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(core)!: remove `to_chain` and `to_render` from `Grouped` trait | 魏曹先生 | 4 days | 4 | -10/+10 |
| | | | | | | 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 | 魏曹先生 | 4 days | 1 | -1/+1 |
| | | |||||
| * | feat(routeify): map `?` span to `route!` for tooling support | 魏曹先生 | 4 days | 2 | -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 | ||||
| * | fix(dispatcher): qualify to_chain call with Routable trait | 魏曹先生 | 5 days | 1 | -1/+1 |
| | | |||||
| * | feat(extensions): add routeify extension macro for error routing | 魏曹先生 | 5 days | 3 | -40/+66 |
| | | |||||
| * | chore(macros): reorganize module hierarchy in mingling_macros | 魏曹先生 | 5 days | 25 | -740/+710 |
| | | | | | | | 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 | 魏曹先生 | 5 days | 2 | -1/+169 |
| | | | | | | | | 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(macros): add Routable trait and update route! macro | 魏曹先生 | 5 days | 1 | -8/+35 |
| | | | | | | | 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 | 魏曹先生 | 5 days | 8 | -58/+58 |
| | | |||||
| * | feat(macros:chain): accept any return type in chain functions | 魏曹先生 | 5 days | 1 | -33/+21 |
| | | |||||
| * | feat(macros): relax `#[help]` return type to accept `Into<RenderResult>` | 魏曹先生 | 7 days | 2 | -33/+14 |
| | | |||||
| * | ix(macros)!: require explicit `.into()` on chain function return values | 魏曹先生 | 7 days | 4 | -152/+77 |
| | | |||||
| * | feat(macros): allow `#[renderer]` to accept any return type | 魏曹先生 | 7 days | 1 | -36/+10 |
| | | |||||
| * | docs: add module-level documentation and improve doc comments | 魏曹先生 | 7 days | 1 | -40/+40 |
| | | |||||
| * | style: Reorder imports and reformat code with cargo fmt | 魏曹先生 | 13 days | 3 | -5/+6 |
| | | |||||
| * | refactor(examples): migrate renderers to return RenderResult and add | 魏曹先生 | 13 days | 1 | -4/+6 |
| | | | | | | | | | | 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 | 魏曹先生 | 13 days | 1 | -7/+10 |
| | | | | | add Write import | ||||
| * | feat: require renderers to return RenderResult instead of mutating one | 魏曹先生 | 13 days | 4 | -262/+129 |
| | | | | | | | | 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`. | ||||
| * | feat(structural_data): align type use generation with group_impl | 魏曹先生 | 2026-07-10 | 1 | -2/+9 |
| | | |||||
| * | chore: run cargo fmt and rearrange re-exports in mingling | 魏曹先生 | 2026-07-02 | 3 | -6/+5 |
| | | |||||
| * | fix(macros): fix false positives in entry_has_variant substring matching | 魏曹先生 | 2026-07-02 | 1 | -4/+21 |
| | | |||||
| * | Released Mingling 0.2.00.2.0 | 魏曹先生 | 2026-06-30 | 1 | -1/+1 |
| | | |||||
| * | fix(macros): pass pathf_map into dispatch tree generators | 魏曹先生 | 2026-06-29 | 2 | -31/+31 |
| | | |||||
| * | feat(macros): add pathf type resolution for downcasts | 魏曹先生 | 2026-06-29 | 1 | -29/+81 |
| | | |||||
| * | refactor(pack_err): replace inline to_snake_case with just_fmt | 魏曹先生 | 2026-06-29 | 1 | -33/+5 |
| | | |||||
| * | refactor(macros): reorganize module structure and parse pathf include | 魏曹先生 | 2026-06-29 | 1 | -6/+25 |
| | | | | | | | | inline Instead of using `include!` with generated paths, read the file at compile time and parse it into a token stream during macro expansion. | ||||
| * | feat(pathf): add build-time type path resolution system | 魏曹先生 | 2026-06-28 | 1 | -0/+10 |
| | | | | | | | | Add `mingling_pathf` sub-crate and `pathf` feature for automatic resolution of Mingling type module paths at build time. Scans source files, identifies macro invocations via pattern matchers, and generates mapping files consumed by `gen_program!()`. | ||||
| * | feat(workspace): add mingling_pathf crate and pathf feature | 魏曹先生 | 2026-06-28 | 1 | -0/+1 |
| | | |||||
| * | feat(macros): add async mutable resource injection for `#[chain]` | 魏曹先生 | 2026-06-27 | 3 | -27/+93 |
| | | | | | | | | 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. | ||||
| * | fix: use fully qualified path to get_global_set in pack_err | 魏曹先生 | 2026-06-27 | 1 | -3/+1 |
| | | |||||
| * | feat(macros, docs): register structural macros and update feature table | 魏曹先生 | 2026-06-26 | 1 | -2/+10 |
| | | |||||
| * | feat(macros): Render ResultEmpty for non-structural types | 魏曹先生 | 2026-06-26 | 1 | -1/+7 |
| | | |||||
| * | feat(macros): simplify ResultEmpty to a unit struct | 魏曹先生 | 2026-06-26 | 2 | -6/+18 |
| | | |||||
| * | refactor(general_renderer): rename to structural_renderer | 魏曹先生 | 2026-06-26 | 7 | -61/+61 |
| | | |||||
| * | feat(core): decouple structured output from Groupped trait | 魏曹先生 | 2026-06-26 | 5 | -21/+536 |
| | | | | | | | | Introduce `StructuralData` sealed trait and `pack_structural!` / `group_structural!` / `derive(StructuralData)` macros to control structured rendering separately from grouping. `Groupped` no longer requires `Serialize`. | ||||
| * | fix(dispatch_tree): use proper snake_case for dispatcher static names | 魏曹先生 | 2026-06-25 | 3 | -3/+6 |
| | | | | | | | | | | Fix the static name generation for dispatch tree nodes to use a correct snake_case conversion instead of a simple `.` to `_` replacement. Also correct the `__comp` completion dispatcher name from triple underscore to double underscore, resolving a mismatch between `register_dispatcher!` and `program_comp_gen` | ||||
| * | Make `dispatcher_clap` help function public | 魏曹先生 | 2026-06-25 | 1 | -1/+1 |
| | | |||||
| * | Trim whitespace from variant string after removing trailing comma | 魏曹先生 | 2026-06-23 | 1 | -1/+1 |
| | | |||||
| * | Disambiguate to_chain call via full qualification | 魏曹先生 | 2026-06-23 | 1 | -3/+7 |
| | | |||||
| * | Add entry-str dedup and registry cleanup in final gen | 魏曹先生 | 2026-06-23 | 5 | -7/+39 |
| | | |||||
| * | Add aliased syntax to `group!` macro | 魏曹先生 | 2026-06-23 | 1 | -10/+56 |
| | | | | | | Allow `group!(Alias = TypePath)` to create a type alias and use the alias name as the enum variant, enabling more descriptive naming | ||||
| * | Add compile-time duplicate variant detection | 魏曹先生 | 2026-06-23 | 5 | -10/+112 |
| | | | | | | | Add duplicate variant checks for chain, renderer, help, and completion registrations to produce a clear compile error instead of silently generating unreachable code | ||||
| * | Replace macro_rules dispatch with proc-macro generation | 魏曹先生 | 2026-06-23 | 1 | -6/+107 |
| | | | | | | | | | Generate `render()` and `do_chain()` match dispatch directly in `program_final_gen`, using a compile-time `ASYNC_ENABLED` constant to select the correct sync/async signature. Removes the `__dispatch_program_renderers!` and `__dispatch_program_chains!` macros from `mingling_core`. | ||||
| * | Make route! macro auto-convert error types | 魏曹先生 | 2026-06-22 | 1 | -7/+8 |
| | | | | | | | `route!()` now calls `Groupped::to_chain()` on the error branch, removing the need for callers to pre-convert with `.to_chain()` or `.to_render()`. | ||||
| * | Support resource injection in #[help] and #[completion | 魏曹先生 | 2026-06-22 | 2 | -64/+187 |
| | | |||||
| * | Support qualified type paths in four macros | 魏曹先生 | 2026-06-22 | 6 | -82/+17 |
| | | |||||
| * | Remove all explicit program name modes from macrosremoved-shit | 魏曹先生 | 2026-06-20 | 9 | -591/+176 |
| | | |||||
| * | Support single-segment type paths in group macro | 魏曹先生 | 2026-06-20 | 1 | -1/+19 |
| | | |||||
| * | Add `group!` macro for registering external types | 魏曹先生 | 2026-06-20 | 2 | -0/+168 |
| | | |||||
