<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/CHANGELOG.md, branch feat/new-pipeline-model</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>feat(picker_comp): add module to bridge picker and comp subsystems</title>
<updated>2026-07-29T05:25:08+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-29T05:25:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=ebcd0d1edc4434364b7b4027dd4d4f277e62d989'/>
<id>ebcd0d1edc4434364b7b4027dd4d4f277e62d989</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(core/comp): add Suggest::combine method for merging suggestions</title>
<updated>2026-07-29T05:24:10+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-29T05:24:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=2234df5cc195c4d6734d10ed6b4d08d5497b4bf7'/>
<id>2234df5cc195c4d6734d10ed6b4d08d5497b4bf7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(dispatcher, gen_program): add From impl and default Entry pack type</title>
<updated>2026-07-28T13:03:53+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T13:03:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=256e638d25315f114940b34ad90969b7f7b70823'/>
<id>256e638d25315f114940b34ad90969b7f7b70823</id>
<content type='text'>
Add a `From&lt;pack_Type&gt; for crate::Entry` implementation in
`dispatcher!()` macro and a default `Entry` pack type in
`gen_program!()` for ergonomic program entry handling
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a `From&lt;pack_Type&gt; for crate::Entry` implementation in
`dispatcher!()` macro and a default `Entry` pack type in
`gen_program!()` for ergonomic program entry handling
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(macros): wrap gen_program output in a hidden module</title>
<updated>2026-07-28T11:59:21+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T11:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=e3c060b3281b6255c2cdebdcf2dda2a22a758662'/>
<id>e3c060b3281b6255c2cdebdcf2dda2a22a758662</id>
<content type='text'>
Move pathf type resolution from `program_final_gen` to `gen_program` and
isolate generated code inside `__this_program_impl` to prevent namespace
pollution
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move pathf type resolution from `program_final_gen` to `gen_program` and
isolate generated code inside `__this_program_impl` to prevent namespace
pollution
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(mingling_macros, mingling_pathf): add `#[command]` attribute macro</title>
<updated>2026-07-28T11:11:14+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T11:11:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=2dff21cc78fd2d6a4fa4f227f6ad94e3f7baa943'/>
<id>2dff21cc78fd2d6a4fa4f227f6ad94e3f7baa943</id>
<content type='text'>
Add a new `#[command]` attribute macro (feature-gated behind
`extra_macros`) that converts a plain function with a `Vec&lt;String&gt;`
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new `#[command]` attribute macro (feature-gated behind
`extra_macros`) that converts a plain function with a `Vec&lt;String&gt;`
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(pathf): move type resolution from compile-time to build-time</title>
<updated>2026-07-28T11:10:17+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T11:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=bf35af6bbf30492bcd23eb6103fdac3382dd6d33'/>
<id>bf35af6bbf30492bcd23eb6103fdac3382dd6d33</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add convenience methods to PickArgParsed tuples</title>
<updated>2026-07-28T04:00:57+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T04:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=432a6e2892cf900c2f8dc80cf4f9f6bc8adb4b7b'/>
<id>432a6e2892cf900c2f8dc80cf4f9f6bc8adb4b7b</id>
<content type='text'>
Add `unwrap_or_default`, `unwrap_or_else`, and `expect` methods to
reduce boilerplate when working with parsed argument tuples
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `unwrap_or_default`, `unwrap_or_else`, and `expect` methods to
reduce boilerplate when working with parsed argument tuples
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add filesystem-aware path value types</title>
<updated>2026-07-28T03:42:27+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T03:42:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=160460494f8c56fd42ff9ab96ace74cc4457f479'/>
<id>160460494f8c56fd42ff9ab96ace74cc4457f479</id>
<content type='text'>
Add `FilePath`, `NoFilePath`, `DirPath`, `NoDirPath`, `SymlinkPath`,
`NoSymlinkPath`, `NoPath`, and `RecursiveFiles` wrapper types with
filesystem validation at parse time. Each type implements
`SinglePickable`
and provides standard conversions via `From`, `AsRef`, `Deref`, and
`DerefMut`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `FilePath`, `NoFilePath`, `DirPath`, `NoDirPath`, `SymlinkPath`,
`NoSymlinkPath`, `NoPath`, and `RecursiveFiles` wrapper types with
filesystem validation at parse time. Each type implements
`SinglePickable`
and provides standard conversions via `From`, `AsRef`, `Deref`, and
`DerefMut`.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(changelog): mark release 0.3.0 as released on 2026-07-27</title>
<updated>2026-07-27T15:03:29+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-27T15:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=5229379afe1306c8d6ebea4e84418ba5caa475ae'/>
<id>5229379afe1306c8d6ebea4e84418ba5caa475ae</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): split monolith into one-macro-per-file modules</title>
<updated>2026-07-26T12:56:24+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-26T12:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=5714eba48ee9031d61858425583c219b881f2d13'/>
<id>5714eba48ee9031d61858425583c219b881f2d13</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
