<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/CHANGELOG.md, branch old-scaffolding-tool</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>feat(macros): add `#[buffer]` attribute and re-export `r_print!(ln)`</title>
<updated>2026-07-20T00:42:16+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T00:42:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=7b3a1d7fd9f60b91a7f9602374c081882d46facc'/>
<id>7b3a1d7fd9f60b91a7f9602374c081882d46facc</id>
<content type='text'>
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&lt;str&gt;`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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&lt;str&gt;`.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(macros): preserve user function as standalone item in codegen</title>
<updated>2026-07-20T00:13:49+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T00:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=9dc737acec1eab40ef65bef8e6c729a4e5e06401'/>
<id>9dc737acec1eab40ef65bef8e6c729a4e5e06401</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core)!: remove `to_chain` and `to_render` from `Grouped` trait</title>
<updated>2026-07-19T20:57:57+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T20:57:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=34c4c66c1d336469e71fad8cff4828cf5d2bdafb'/>
<id>34c4c66c1d336469e71fad8cff4828cf5d2bdafb</id>
<content type='text'>
Move routing methods exclusively to the `Routable` trait and update
all macro-generated code to reference `Routable` instead of `Grouped`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move routing methods exclusively to the `Routable` trait and update
all macro-generated code to reference `Routable` instead of `Grouped`
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(extensions): add routeify extension macro for error routing</title>
<updated>2026-07-19T17:11:44+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T17:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=779d7f6b3b5a22406c61d94efc45ad4422e50e0d'/>
<id>779d7f6b3b5a22406c61d94efc45ad4422e50e0d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(macros): reorganize module hierarchy in mingling_macros</title>
<updated>2026-07-19T17:01:27+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T16:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=1f583f625a7d541dc7d47a8136b31d29a5ed5441'/>
<id>1f583f625a7d541dc7d47a8136b31d29a5ed5441</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(macros): add extension point mechanism for attribute macros</title>
<updated>2026-07-19T16:34:21+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T16:34:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=e8ae63988d562969df47ae6d92129974e7fb6980'/>
<id>e8ae63988d562969df47ae6d92129974e7fb6980</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(macros): update `route!` to use `Routable` trait for error routing</title>
<updated>2026-07-19T02:58:11+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T02:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=677600e91f321a23d869ee94e66f8b716ec0ce8f'/>
<id>677600e91f321a23d869ee94e66f8b716ec0ce8f</id>
<content type='text'>
Add `Routable` implementation for `ChainProcess&lt;ThisProgram&gt;` to enable
direct routing of chain process values through the `route!` macro
without
double-wrapping, improving semantics and flexibility of error conversion
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `Routable` implementation for `ChainProcess&lt;ThisProgram&gt;` to enable
direct routing of chain process values through the `route!` macro
without
double-wrapping, improving semantics and flexibility of error conversion
</pre>
</div>
</content>
</entry>
<entry>
<title>fix!: rename `Groupped` to `Grouped` across the codebase</title>
<updated>2026-07-19T02:45:07+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T02:32:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=320ea9a3a418daa17174dc78f1262509b96b13b9'/>
<id>320ea9a3a418daa17174dc78f1262509b96b13b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(macros:chain): accept any return type in chain functions</title>
<updated>2026-07-18T21:26:21+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-18T21:26:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=1c220b52903f05df1246802c24250300038cadb7'/>
<id>1c220b52903f05df1246802c24250300038cadb7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(setups): refactor picker subsystem with new argument manipulation</title>
<updated>2026-07-17T22:15:33+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-17T22:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=d42665a0d223d2a8dbd278ac14632a55c5dbc246'/>
<id>d42665a0d223d2a8dbd278ac14632a55c5dbc246</id>
<content type='text'>
API

Refactor six setup types into `mingling::setups::picker` to use chained
`PickerArg&lt;Flag&gt;` 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
API

Refactor six setup types into `mingling::setups::picker` to use chained
`PickerArg&lt;Flag&gt;` 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.
</pre>
</div>
</content>
</entry>
</feed>
