<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_macros/src/dispatcher.rs, branch main</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>fix(dispatch_tree): use proper snake_case for dispatcher static names</title>
<updated>2026-06-25T05:29:08+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-06-25T05:29:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=757b1e412c8617cacd8ba0e428554e7f44e9d0e8'/>
<id>757b1e412c8617cacd8ba0e428554e7f44e9d0e8</id>
<content type='text'>
Fix the static name generation for dispatch tree nodes to use a correct
snake_case conversion instead of a simple `.` to `_` replacement. Also
correct the `__comp` completion dispatcher name from triple underscore
to double underscore, resolving a mismatch between
`register_dispatcher!`
and `program_comp_gen`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the static name generation for dispatch tree nodes to use a correct
snake_case conversion instead of a simple `.` to `_` replacement. Also
correct the `__comp` completion dispatcher name from triple underscore
to double underscore, resolving a mismatch between
`register_dispatcher!`
and `program_comp_gen`
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove all explicit program name modes from macros</title>
<updated>2026-06-19T17:54:57+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-06-19T17:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=fcfe66875f46e8652170fd190416d796ae30aabc'/>
<id>fcfe66875f46e8652170fd190416d796ae30aabc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add shared `MockProgramCollect` and conditional `Groupped` bounds</title>
<updated>2026-06-19T17:11:25+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-06-19T17:11:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=9d491352d161ee629cc47459537344ba0ea4bb35'/>
<id>9d491352d161ee629cc47459537344ba0ea4bb35</id>
<content type='text'>
Extract duplicate `MockCollect` implementations into a reusable
`MockProgramCollect` type. Conditionally require `Serialize` on the
`Groupped` trait when the `general_renderer` feature is enabled.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extract duplicate `MockCollect` implementations into a reusable
`MockProgramCollect` type. Conditionally require `Serialize` on the
`Groupped` trait when the `general_renderer` feature is enabled.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance code quality across the entire codebase</title>
<updated>2026-05-31T09:19:20+00:00</updated>
<author>
<name>Weicao-CatilGrass</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-30T18:42:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=2aa7bda3cb21ce6c052b82e08bcab79a625d04f2'/>
<id>2aa7bda3cb21ce6c052b82e08bcab79a625d04f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support doc comments and attributes on `pack!` and `dispatcher!` macros</title>
<updated>2026-05-29T09:34:59+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-29T09:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=7e9c77641a3dfb5df7c2218081ee625d0d069f4b'/>
<id>7e9c77641a3dfb5df7c2218081ee625d0d069f4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add implicit dispatcher macro with auto-derived names</title>
<updated>2026-05-24T09:06:54+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-24T09:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=60e70f5320b2abdb38a2349c18e5bffcfea37ca7'/>
<id>60e70f5320b2abdb38a2349c18e5bffcfea37ca7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove `once_cell` dependency and replace with `OnceLock`</title>
<updated>2026-05-21T07:03:55+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-21T07:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=4704f6d54108bcc8f9b2fb7f4b3c4e224b4a7809'/>
<id>4704f6d54108bcc8f9b2fb7f4b3c4e224b4a7809</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove module-level doc comments</title>
<updated>2026-05-17T14:00:08+00:00</updated>
<author>
<name>Weicao-CatilGrass</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-17T14:00:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=759a08a5773046a9182ba8359795c7f1a849ddf7'/>
<id>759a08a5773046a9182ba8359795c7f1a849ddf7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Accept paths for program name parameters in macros</title>
<updated>2026-05-16T14:31:52+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-16T14:31:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=60b91db3df168532f9143f0cafb7b5166e1dc78b'/>
<id>60b91db3df168532f9143f0cafb7b5166e1dc78b</id>
<content type='text'>
All proc macros (`pack!`, `dispatcher!`, `#[chain]`, `#[program_setup]`,
`#[dispatcher_clap]`, `#[derive(Groupped)]`) now parse program names as
`syn::Path` instead of bare `Ident`, allowing use of paths like
`crate::MyProgram` or `my_crate::MyProgram`.

The default program name `ThisProgram` is no longer re-exported or
required
as an import — generated code references `crate::ThisProgram` directly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All proc macros (`pack!`, `dispatcher!`, `#[chain]`, `#[program_setup]`,
`#[dispatcher_clap]`, `#[derive(Groupped)]`) now parse program names as
`syn::Path` instead of bare `Ident`, allowing use of paths like
`crate::MyProgram` or `my_crate::MyProgram`.

The default program name `ThisProgram` is no longer re-exported or
required
as an import — generated code references `crate::ThisProgram` directly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use `default_program_path()` instead of `default_program_ident()`</title>
<updated>2026-05-16T14:17:38+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-05-16T14:17:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=05d07bbc627b59fd07a8764a972b4aac63a46f53'/>
<id>05d07bbc627b59fd07a8764a972b4aac63a46f53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
