<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_core/src/asset, branch 0.5.0-rd</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>refactor!: remove Node type and simplify dispatcher macro syntax</title>
<updated>2026-08-16T19:27:46+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-16T19:27:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=c23c590330af83afb6e146bcd9b0a274b3689d22'/>
<id>c23c590330af83afb6e146bcd9b0a274b3689d22</id>
<content type='text'>
The `dispatcher!` macro no longer requires a `CMD*` dispatcher type
argument; the dispatcher struct is now generated internally as
`__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and
`Dispatcher::node()` / `clone_dispatcher()` methods are removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `dispatcher!` macro no longer requires a `CMD*` dispatcher type
argument; the dispatcher struct is now generated internally as
`__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and
`Dispatcher::node()` / `clone_dispatcher()` methods are removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor!: remove dynamic dispatcher registration API</title>
<updated>2026-08-16T18:39:56+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-16T18:29:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=6980fbf2f9fb4c599d8dc6ff549a8b3288eb24e9'/>
<id>6980fbf2f9fb4c599d8dc6ff549a8b3288eb24e9</id>
<content type='text'>
Dispatchers are now always registered at compile time, removing the
`with_dispatcher` / `with_dispatchers` methods and the
`PathfinderConfig` API. The `dispatch_tree` feature now only controls
the matching strategy (trie vs linear list).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dispatchers are now always registered at compile time, removing the
`with_dispatcher` / `with_dispatchers` methods and the
`PathfinderConfig` API. The `dispatch_tree` feature now only controls
the matching strategy (trie vs linear list).
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(docs): fix intra-doc link formatting</title>
<updated>2026-08-13T16:30:31+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-13T16:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=299b96c8917a7b2c70c9e8040c064d3186ecd760'/>
<id>299b96c8917a7b2c70c9e8040c064d3186ecd760</id>
<content type='text'>
Replace intra-doc links with explicit URLs for types that are
not accessible from the current module scope, and add missing
panic documentation section.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace intra-doc links with explicit URLs for types that are
not accessible from the current module scope, and add missing
panic documentation section.
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: expand trait and type documentation with examples</title>
<updated>2026-08-13T16:14:30+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-13T16:14:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=1f2462ae53446c37c6cfe53a57ea86f695c4ef0a'/>
<id>1f2462ae53446c37c6cfe53a57ea86f695c4ef0a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: suppress future_not_send lint and tighten Send bounds</title>
<updated>2026-08-11T18:34:39+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-11T18:34:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=4e163438f9d9af83c1492826acf742337ec147c9'/>
<id>4e163438f9d9af83c1492826acf742337ec147c9</id>
<content type='text'>
Add `#[allow(clippy::future_not_send)]` to chain invocation methods and
clarify Send requirements for `exec` bounds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `#[allow(clippy::future_not_send)]` to chain invocation methods and
clarify Send requirements for `exec` bounds.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(core): extract global resource store into standalone container</title>
<updated>2026-08-11T16:56:52+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-11T16:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=d5a039e9d882f8f50b3cc9cdc10bc7bd84a5fa4d'/>
<id>d5a039e9d882f8f50b3cc9cdc10bc7bd84a5fa4d</id>
<content type='text'>
Refactor `GlobalResources` from a type-erased `Arc&lt;Mutex&lt;HashMap&lt;...&gt;&gt;&gt;`
alias into a `GlobalResContainer` struct with per-resource mutexes.
This prevents nested `modify_res` calls from deadlocking, allows
independent containers to coexist, and keeps `Program`'s public
resource API unchanged.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactor `GlobalResources` from a type-erased `Arc&lt;Mutex&lt;HashMap&lt;...&gt;&gt;&gt;`
alias into a `GlobalResContainer` struct with per-resource mutexes.
This prevents nested `modify_res` calls from deadlocking, allows
independent containers to coexist, and keeps `Program`'s public
resource API unchanged.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(asset): replace wildcard match with explicit variants</title>
<updated>2026-08-10T08:16:31+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-10T08:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=61b770ca958afa7e5eca4c50f5e06bdf3ed7a94a'/>
<id>61b770ca958afa7e5eca4c50f5e06bdf3ed7a94a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(core): improve code style and public API clarity</title>
<updated>2026-08-10T07:49:31+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-10T07:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=a9d5943939261e27e58bcf5cacbb618a0f63e999'/>
<id>a9d5943939261e27e58bcf5cacbb618a0f63e999</id>
<content type='text'>
Replace bool-based settings with enums, refine visibility and
signatures, and standardize `Self` usage across the crate.

- Introduce `ErrorOutput`, `RenderOutput`, `PanicSilence`, `Verbosity`,
  `ColorOutput`, and `ProgressOutput` enums for clearer configuration
  semantics
- Make `GlobalResources`, `ProgramCell`, and
  `split_input`/`split_input_string` public
- Change hook info parameters to accept references and
  `split_input_string` to take `&amp;str`
- Apply `Self` shorthand throughout implementations and add
  `#[must_use]` attributes where appropriate
- Enable strict clippy lints with targeted allowances
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace bool-based settings with enums, refine visibility and
signatures, and standardize `Self` usage across the crate.

- Introduce `ErrorOutput`, `RenderOutput`, `PanicSilence`, `Verbosity`,
  `ColorOutput`, and `ProgressOutput` enums for clearer configuration
  semantics
- Make `GlobalResources`, `ProgramCell`, and
  `split_input`/`split_input_string` public
- Change hook info parameters to accept references and
  `split_input_string` to take `&amp;str`
- Apply `Self` shorthand throughout implementations and add
  `#[must_use]` attributes where appropriate
- Enable strict clippy lints with targeted allowances
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add entry metadata system with compile-time typed values</title>
<updated>2026-08-04T05:26:48+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-04T05:26:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=4588e17f7ddacd8391a5c881a209735e08d48797'/>
<id>4588e17f7ddacd8391a5c881a209735e08d48797</id>
<content type='text'>
Add `Metadata&lt;B&gt;` trait and `#[metadata(Entry)]` attribute macro
to attach arbitrary, compile-time-typed metadata to entries.
Implement `ProgramCollect::get_metadata&lt;T&gt;()` for runtime retrieval,
backed by a global registry populated by `register_metadata!`.

Extend `pathf` with `MetadataPattern` to resolve metadata types
across modules at build time. Add two examples demonstrating
metadata usage with and without pathf integration.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `Metadata&lt;B&gt;` trait and `#[metadata(Entry)]` attribute macro
to attach arbitrary, compile-time-typed metadata to entries.
Implement `ProgramCollect::get_metadata&lt;T&gt;()` for runtime retrieval,
backed by a global registry populated by `register_metadata!`.

Extend `pathf` with `MetadataPattern` to resolve metadata types
across modules at build time. Add two examples demonstrating
metadata usage with and without pathf integration.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core): add RendererInvoker and ChainInvoker types</title>
<updated>2026-07-23T16:57:08+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-23T16:57:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=d8d239022e25b74d99a095486fe8cec1c999777b'/>
<id>d8d239022e25b74d99a095486fe8cec1c999777b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
