aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* fix(macros): pass pathf_map into dispatch tree generators魏曹先生8 hours1-3/+3
|
* feat(macros): add pathf type resolution for downcasts魏曹先生8 hours1-29/+81
|
* refactor(macros): reorganize module structure and parse pathf include魏曹先生9 hours1-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魏曹先生37 hours1-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]`魏曹先生2 days1-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魏曹先生3 days1-2/+10
|
* feat(macros): Render ResultEmpty for non-structural types魏曹先生4 days1-1/+7
|
* feat(macros): simplify ResultEmpty to a unit struct魏曹先生4 days1-3/+15
|
* refactor(general_renderer): rename to structural_renderer魏曹先生4 days1-38/+38
|
* feat(core): decouple structured output from Groupped trait魏曹先生4 days1-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魏曹先生4 days1-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魏曹先生7 days1-1/+1
|
* Add entry-str dedup and registry cleanup in final gen魏曹先生7 days1-0/+22
|
* Add compile-time duplicate variant detection魏曹先生7 days1-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魏曹先生7 days1-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魏曹先生7 days1-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魏曹先生7 days1-29/+0
|
* Remove all explicit program name modes from macrosremoved-shit魏曹先生10 days1-93/+31
|
* Add `group!` macro for registering external types魏曹先生10 days1-0/+53
|
* Add shared `MockProgramCollect` and conditional `Groupped` bounds魏曹先生10 days1-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魏曹先生11 days1-0/+70
|
* Switch to workspace-level documentation buildsWeicao-CatilGrass2026-06-011-13/+13
|
* Expand module-level documentationWeicao-CatilGrass2026-05-311-67/+291
|
* Enhance code quality across the entire codebaseWeicao-CatilGrass2026-05-311-7/+17
|
* Rename error types with consistent naming convention魏曹先生2026-05-291-25/+25
|
* Fix `program_comp_gen!` import issue魏曹先生2026-05-291-2/+11
| | | | | Fixed `program_comp_gen!` import when `comp` and `dispatch_tree` features coexist
* Rename CompletionDispatcher to CMDCompletion and hide internal types魏曹先生2026-05-291-5/+15
|
* Introduce `Registry` type alias for global static declarations魏曹先生2026-05-291-10/+12
|
* Gate extra_macros items behind the feature flag魏曹先生2026-05-241-0/+6
|
* Add implicit dispatcher macro with auto-derived names魏曹先生2026-05-241-0/+22
|
* Rework examples and add entry macro for testingWeicao-CatilGrass2026-05-231-0/+22
|
* Extract resource injection into shared module and add to #[renderer]Weicao-CatilGrass2026-05-221-2/+3
|
* Rename injected renderer parameter from `r` to `__renderer_inner_result`Weicao-CatilGrass2026-05-221-3/+3
|
* Remove `once_cell` dependency and replace with `OnceLock`魏曹先生2026-05-211-29/+29
|
* Add `empty_result!` macro and `REPL` resource, improve examples魏曹先生2026-05-191-1/+46
|
* Add no-return-value mode for `#[chain]` macroWeicao-CatilGrass2026-05-171-1/+10
|
* Rename `NextProcess` to `Next` across the codebaseWeicao-CatilGrass2026-05-171-15/+15
|
* Use `default_program_path()` instead of `default_program_ident()`魏曹先生2026-05-161-0/+5
|
* Replace hardcoded `ThisProgram` ident with shared constant魏曹先生2026-05-161-1/+7
|
* Validate single-segment types in attribute macros魏曹先生2026-05-161-0/+29
|
* Document resource injection support in chain macro魏曹先生2026-05-161-4/+105
|
* Add scripts for building documentation and update docs魏曹先生2026-05-131-45/+45
|
* Add error type aliases to ProgramCollect trait魏曹先生2026-05-081-0/+2
|
* Remove `__completion_gen` module wrapping from macro output魏曹先生2026-05-071-17/+12
|
* Add compile-time dispatch tree generation for O(len) command routing魏曹先生2026-05-071-0/+64
|
* Add static accessor to gen_program! macro output魏曹先生2026-05-071-0/+6
|
* Enforce `NextProcess` return type in chain functions and update examples魏曹先生2026-05-021-7/+7
|
* Add architecture overview and doc comments to macro crate魏曹先生2026-05-021-0/+920
|
* Use small integer repr for gen_program! enum魏曹先生2026-04-291-5/+13
| | | | Remove the default __FallBack variant and Debug derive from pack types.
* Add global resource system to Program魏曹先生2026-04-271-0/+1
|