| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
fields
Declare `Grouped` as `unsafe trait` to make its soundness invariant
visible.
Make `AnyOutput.type_id` and `member_id` private; add public accessors
and
the `unsafe fn new_bare` constructor.
|
| |
|
|
|
|
|
| |
Make `StructuralData` and `StructuralDataSealed` generic over a program
collector type to bypass the orphan rule for `group_structural!`. This
enables external types to implement `StructuralData<crate::ThisProgram>`
without violating coherence.
|
| | |
|
| |
|
|
|
|
|
| |
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`.
|
| |
|
|
|
| |
Enables method chaining for `with_resource`, `with_dispatcher`,
`with_dispatchers`, `with_hook`, and `with_setup`
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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`
|
| |
|
|
|
|
|
|
|
|
|
|
| |
methods
Deprecate `ShellContext` methods `filling_argument_first`,
`filling_argument`, `typing_argument`, `strip_typed_argument`, and
`get_typed_arguments` when the `picker` feature is active, as they
do not work under all `ParserStyle` settings.
Add `#![allow(deprecated)]` to the affected modules to suppress
warnings from internal usage.
|
| |
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Implement `From<()>`, integer types, String, &String, and &str
to allow renderers to return simple values directly
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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`.
|
| | |
|
| |
|
|
|
|
| |
Migrate `mingling_core::pathf` into `mingling_core::builds::pathf` and
re-export from `mingling::build`. Update all references from
`mingling::builds` and `mingling::pathf` to `mingling::build`.
|
| | |
|
| |
|
|
|
|
|
|
| |
Add `PathfinderConfig` struct to control dispatch tree extraction,
and wire `use_dispatch_tree` through `DispatcherPattern`,
`init_with_config`,
and `analyze_and_build_type_mapping_for`. Expose config and wrapper
from `mingling_core` under the `pathf` feature.
|
| | |
|
| |
|
|
|
|
|
| |
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!()`.
|
| | |
|
| |
|
|
|
|
|
|
| |
Add module-level docs for the hook system, enhance doc examples for
macros
with usage syntax, fix typos in cross-references, and hide internal
debugging
macros and mock types from public documentation
|
| |
|
|
|
|
|
| |
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`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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`.
|
| | |
|
| |
|
|
|
|
| |
Extract duplicate `MockCollect` implementations into a reusable
`MockProgramCollect` type. Conditionally require `Serialize` on the
`Groupped` trait when the `general_renderer` feature is enabled.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Reduces indirection and allows taking ownership of the program instance
for proper cleanup before `process::exit()`
|
| | |
|
| | |
|
| | |
|
| | |
|