| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
| |
pipeline error routing
|
| |
|
|
|
|
|
| |
Implement `RenderResult::append_other()` to merge buffered content and
immediate output behavior from one result into another. Add the
`r_append!` macro with both explicit buffer (`dst, src`) and implicit
buffer (`src`) usage forms, re-exported from `mingling::prelude`.
|
| |
|
|
|
|
|
|
|
|
| |
Remove `Deref<Target=str>` and `render_text:String` in favor of
`render_buffer:Vec<(String, RenderResultMode)>` and an
`immediate_output`
flag. Add `RenderResultMode` enum, `r_eprint!`/`r_eprintln!` macros, and
new buffer manipulation methods (`append_to_buffer`, `eprint`, etc.).
Update `Display` to trim output and remove trailing newline. Migrate all
callers and tests away from `Deref` usage.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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>`.
|
| |
|
|
|
| |
Move routing methods exclusively to the `Routable` trait and update
all macro-generated code to reference `Routable` instead of `Grouped`
|
| |
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
add Write import
|
| |
|
|
|
|
|
| |
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`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
inline
Instead of using `include!` with generated paths, read the file at
compile time and parse it into a token stream during macro expansion.
|
| |
|
|
|
|
|
| |
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!()`.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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 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`
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Add duplicate variant checks for chain, renderer, help, and completion
registrations to produce a clear compile error instead of silently
generating unreachable code
|
| |
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
| |
`route!()` now calls `Groupped::to_chain()` on the error branch,
removing the need for callers to pre-convert with `.to_chain()` or
`.to_render()`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Extract duplicate `MockCollect` implementations into a reusable
`MockProgramCollect` type. Conditionally require `Serialize` on the
`Groupped` trait when the `general_renderer` feature is enabled.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Fixed `program_comp_gen!` import when `comp` and `dispatch_tree`
features coexist
|
| | |
|
| | |
|
| | |
|
| | |
|