| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
| |
Previously, #[command] required at least one owned parameter for
args injection. Now, if the first parameter is a reference or
there are no parameters, a synthetic entry parameter is inserted
so the function can still be used with #[chain].
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new `#[command]` attribute macro (feature-gated behind
`extra_macros`) that converts a plain function with a `Vec<String>`
parameter into a fully wired Mingling command. The macro generates a
`dispatcher!` call, a `#[chain]` wrapper, and a hidden module
re-exporting
all generated types.
Also add `CommandPattern` to the pathf pattern analyzer to recognize
`#[command]`-annotated functions and track their generated hidden
modules.
|
| | |
|
| |
|
|
|
|
|
|
| |
Remove the `origin_return_type` parameter and replace the generic `Into`
conversion with a direct call to `Routable::<#program_type>::to_chain`.
For non-unit returns, also wrap the function call expression in
`to_chain()` upfront to satisfy the `ChainProcess<C>` requirement of
`__modify_res_and_return_route`.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Move routing methods exclusively to the `Routable` trait and update
all macro-generated code to reference `Routable` instead of `Grouped`
|
|
|
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.
|