<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_macros/src/func/r_print.rs, branch main</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>feat(core, macros): add r_append! macro and RenderResult::append_other</title>
<updated>2026-07-20T20:26:10+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T20:26:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=2683d7c6c3c88355fd3188ac2b2c68338ae2d205'/>
<id>2683d7c6c3c88355fd3188ac2b2c68338ae2d205</id>
<content type='text'>
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`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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`.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core)!: replace RenderResult with buffered output model</title>
<updated>2026-07-20T19:46:06+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T19:46:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=c81485b6ae1ba80d658ad8e4482d384303b539ef'/>
<id>c81485b6ae1ba80d658ad8e4482d384303b539ef</id>
<content type='text'>
Remove `Deref&lt;Target=str&gt;` and `render_text:String` in favor of
`render_buffer:Vec&lt;(String, RenderResultMode)&gt;` 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove `Deref&lt;Target=str&gt;` and `render_text:String` in favor of
`render_buffer:Vec&lt;(String, RenderResultMode)&gt;` 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.
</pre>
</div>
</content>
</entry>
<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>
</feed>
