aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
Commit message (Collapse)AuthorAgeFilesLines
* feat(macros): add `#[buffer]` attribute and re-export `r_print!(ln)`魏曹先生5 days1-4/+17
| | | | | | | | | | | 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魏曹先生5 days1-0/+10
| | | | | | | | | | | 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魏曹先生5 days1-0/+19
| | | | | Move routing methods exclusively to the `Routable` trait and update all macro-generated code to reference `Routable` instead of `Grouped`
* feat(extensions): add routeify extension macro for error routing魏曹先生5 days1-0/+26
|
* chore(macros): reorganize module hierarchy in mingling_macros魏曹先生5 days1-0/+13
| | | | | | 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 days1-0/+6
| | | | | | | 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): update `route!` to use `Routable` trait for error routing魏曹先生6 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
* fix!: rename `Groupped` to `Grouped` across the codebase魏曹先生6 days1-1/+12
|
* feat(macros:chain): accept any return type in chain functions魏曹先生6 days1-0/+27
|
* feat(setups): refactor picker subsystem with new argument manipulation魏曹先生7 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.
* fix(core)!: conditionally override exit code in ExitCodeSetup魏曹先生7 days1-0/+2
|
* feat(macros): relax `#[help]` return type to accept `Into<RenderResult>`魏曹先生7 days1-0/+20
|
* ix(macros)!: require explicit `.into()` on chain function return values魏曹先生7 days1-0/+31
|
* feat(macros): allow `#[renderer]` to accept any return type魏曹先生7 days1-0/+25
|
* feat(core): add multiple From implementations for RenderResult魏曹先生7 days1-0/+8
| | | | | Implement `From<()>`, integer types, String, &String, and &str to allow renderers to return simple values directly
* refactor: rename `mingling_picker` to `arg_picker`魏曹先生8 days1-167/+167
|
* docs: add changelog entries for core/macros features and picker system魏曹先生8 days1-0/+36
|
* docs(changelog): document RenderResult::new and removed r_print macros魏曹先生13 days1-2/+25
|
* chore: add Release 0.3.0 entry to changelog魏曹先生13 days1-0/+21
|
* chore: bump version to 0.2.2魏曹先生2026-07-101-128/+151
|
* chore: fix indentation in CHANGELOG.md魏曹先生2026-07-021-127/+127
|
* docs(changelog): prepare 0.2.1 release and add unreleased section0.2.1魏曹先生2026-07-021-3/+24
|
* fix(macros): fix false positives in entry_has_variant substring matching魏曹先生2026-07-021-3/+9
|
* docs(changelog): polish markdown formatting and update release entries魏曹先生2026-06-301-13/+34
|
* feat(pathf): add build-time type path resolution system魏曹先生2026-06-281-0/+41
| | | | | | | 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!()`.
* chore: fix markdown formatting in CHANGELOG魏曹先生2026-06-281-1/+1
|
* docs(changelog): restructure changelog with TOC and contributor魏曹先生2026-06-281-3/+35
| | | | guidelines
* docs(changelog): standardize bracket formatting in CHANGELOG魏曹先生2026-06-281-140/+140
|
* feat(mingling): add directory environment resources and setup魏曹先生2026-06-271-0/+17
| | | | | Add four new resource types for common directory paths and a convenience setup struct that registers all of them at once.
* feat(macros): add async mutable resource injection for `#[chain]`魏曹先生2026-06-271-0/+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.
* fix(core): respect exit code when render output is suppressed魏曹先生2026-06-271-0/+5
|
* feat(macros): simplify ResultEmpty to a unit struct魏曹先生2026-06-261-0/+8
|
* refactor(general_renderer): rename to structural_renderer魏曹先生2026-06-261-16/+35
|
* feat(core): decouple structured output from Groupped trait魏曹先生2026-06-261-0/+10
| | | | | | | 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-251-0/+2
| | | | | | | | | 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`
* Redesign hook system with structured info types and ProgramControls魏曹先生2026-06-241-0/+40
|
* Add entry-str dedup and registry cleanup in final gen魏曹先生2026-06-231-0/+2
|
* Add aliased syntax to `group!` macro魏曹先生2026-06-231-2/+11
| | | | | 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-231-0/+8
| | | | | | 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-231-0/+2
| | | | | | | | 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-221-0/+10
| | | | | | `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-221-0/+20
|
* Support qualified type paths in four macros魏曹先生2026-06-221-12/+19
|
* Remove all explicit program name modes from macrosremoved-shit魏曹先生2026-06-201-1/+25
|
* Add `group!` macro for registering external types魏曹先生2026-06-201-0/+8
|
* Re-export Groupped trait from prelude魏曹先生2026-06-201-0/+2
|
* Move to_chain and to_render to Groupped trait魏曹先生2026-06-201-0/+22
|
* Add dispatch_tree integration to dispatcher_clap魏曹先生2026-06-191-0/+2
|
* Add `pack_err!` macro for error structs with automatic name field魏曹先生2026-06-181-0/+52
|
* Add repository migration notice to changelogWeicao-CatilGrass2026-06-101-0/+7
|