| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | chore: add missing docs lint and document public API | 魏曹先生 | 44 hours | 1 | -0/+85 |
| | | | | | | | | Add `#![deny(missing_docs)]` across multiple crates and fill in documentation for all public items, including struct fields, enum variants, trait methods, and proc macros. Also mark two shell scripts as executable. | ||||
| * | feat(macros): add `#[buffer]` attribute and re-export `r_print!(ln)` | 魏曹先生 | 2 days | 1 | -0/+98 |
| | | | | | | | | | | | | 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(core)!: remove `to_chain` and `to_render` from `Grouped` trait | 魏曹先生 | 2 days | 1 | -1/+1 |
| | | | | | | Move routing methods exclusively to the `Routable` trait and update all macro-generated code to reference `Routable` instead of `Grouped` | ||||
| * | feat(routeify): map `?` span to `route!` for tooling support | 魏曹先生 | 2 days | 1 | -0/+22 |
| | | | | | | | 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 | ||||
| * | feat(extensions): add routeify extension macro for error routing | 魏曹先生 | 2 days | 1 | -0/+21 |
| | | |||||
| * | chore(macros): reorganize module hierarchy in mingling_macros | 魏曹先生 | 2 days | 1 | -708/+42 |
| | | | | | | | 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 days | 1 | -1/+19 |
| | | | | | | | | 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 | 魏曹先生 | 3 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 | 魏曹先生 | 3 days | 1 | -40/+40 |
| | | |||||
| * | feat(macros): relax `#[help]` return type to accept `Into<RenderResult>` | 魏曹先生 | 4 days | 1 | -1/+1 |
| | | |||||
| * | ix(macros)!: require explicit `.into()` on chain function return values | 魏曹先生 | 4 days | 1 | -1/+2 |
| | | |||||
| * | docs: add module-level documentation and improve doc comments | 魏曹先生 | 5 days | 1 | -40/+40 |
| | | |||||
| * | fix(docs): correct RenderResult usage examples to use mut binding and | 魏曹先生 | 11 days | 1 | -7/+10 |
| | | | | | add Write import | ||||
| * | feat: require renderers to return RenderResult instead of mutating one | 魏曹先生 | 11 days | 1 | -143/+66 |
| | | | | | | | | 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`. | ||||
| * | fix(macros): fix false positives in entry_has_variant substring matching | 魏曹先生 | 2026-07-02 | 1 | -4/+21 |
| | | |||||
| * | fix(macros): pass pathf_map into dispatch tree generators | 魏曹先生 | 2026-06-29 | 1 | -3/+3 |
| | | |||||
| * | feat(macros): add pathf type resolution for downcasts | 魏曹先生 | 2026-06-29 | 1 | -29/+81 |
| | | |||||
| * | 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(macros): add async mutable resource injection for `#[chain]` | 魏曹先生 | 2026-06-27 | 1 | -2/+16 |
| | | | | | | | | 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. | ||||
| * | 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 | 1 | -3/+15 |
| | | |||||
| * | refactor(general_renderer): rename to structural_renderer | 魏曹先生 | 2026-06-26 | 1 | -38/+38 |
| | | |||||
| * | feat(core): decouple structured output from Groupped trait | 魏曹先生 | 2026-06-26 | 1 | -0/+88 |
| | | | | | | | | 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 | 1 | -1/+1 |
| | | | | | | | | | | 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` | ||||
| * | Trim whitespace from variant string after removing trailing comma | 魏曹先生 | 2026-06-23 | 1 | -1/+1 |
| | | |||||
| * | Add entry-str dedup and registry cleanup in final gen | 魏曹先生 | 2026-06-23 | 1 | -0/+22 |
| | | |||||
| * | Add compile-time duplicate variant detection | 魏曹先生 | 2026-06-23 | 1 | -0/+31 |
| | | | | | | | 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 qualified type paths in four macros | 魏曹先生 | 2026-06-22 | 1 | -29/+0 |
| | | |||||
| * | Remove all explicit program name modes from macrosremoved-shit | 魏曹先生 | 2026-06-20 | 1 | -93/+31 |
| | | |||||
| * | Add `group!` macro for registering external types | 魏曹先生 | 2026-06-20 | 1 | -0/+53 |
| | | |||||
| * | Add shared `MockProgramCollect` and conditional `Groupped` bounds | 魏曹先生 | 2026-06-20 | 1 | -1/+6 |
| | | | | | | | Extract duplicate `MockCollect` implementations into a reusable `MockProgramCollect` type. Conditionally require `Serialize` on the `Groupped` trait when the `general_renderer` feature is enabled. | ||||
| * | Add `pack_err!` macro for error structs with automatic name field | 魏曹先生 | 2026-06-18 | 1 | -0/+70 |
| | | |||||
| * | Switch to workspace-level documentation builds | Weicao-CatilGrass | 2026-06-01 | 1 | -13/+13 |
| | | |||||
| * | Expand module-level documentation | Weicao-CatilGrass | 2026-05-31 | 1 | -67/+291 |
| | | |||||
| * | Enhance code quality across the entire codebase | Weicao-CatilGrass | 2026-05-31 | 1 | -7/+17 |
| | | |||||
| * | Rename error types with consistent naming convention | 魏曹先生 | 2026-05-29 | 1 | -25/+25 |
| | | |||||
| * | Fix `program_comp_gen!` import issue | 魏曹先生 | 2026-05-29 | 1 | -2/+11 |
| | | | | | | Fixed `program_comp_gen!` import when `comp` and `dispatch_tree` features coexist | ||||
| * | Rename CompletionDispatcher to CMDCompletion and hide internal types | 魏曹先生 | 2026-05-29 | 1 | -5/+15 |
| | | |||||
| * | Introduce `Registry` type alias for global static declarations | 魏曹先生 | 2026-05-29 | 1 | -10/+12 |
| | | |||||
| * | Gate extra_macros items behind the feature flag | 魏曹先生 | 2026-05-24 | 1 | -0/+6 |
| | | |||||
| * | Add implicit dispatcher macro with auto-derived names | 魏曹先生 | 2026-05-24 | 1 | -0/+22 |
| | | |||||
| * | Rework examples and add entry macro for testing | Weicao-CatilGrass | 2026-05-23 | 1 | -0/+22 |
| | | |||||
| * | Extract resource injection into shared module and add to #[renderer] | Weicao-CatilGrass | 2026-05-22 | 1 | -2/+3 |
| | | |||||
| * | Rename injected renderer parameter from `r` to `__renderer_inner_result` | Weicao-CatilGrass | 2026-05-22 | 1 | -3/+3 |
| | | |||||
| * | Remove `once_cell` dependency and replace with `OnceLock` | 魏曹先生 | 2026-05-21 | 1 | -29/+29 |
| | | |||||
| * | Add `empty_result!` macro and `REPL` resource, improve examples | 魏曹先生 | 2026-05-19 | 1 | -1/+46 |
| | | |||||
