<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/arg_picker/src, branch wip/mingling-cli-ux</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/'/>
<entry>
<title>feat: use Pickable trait for value conversion</title>
<updated>2026-08-03T08:29:53+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-03T08:29:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=3bdd2a8ca23c58673fdd715394e0c804c88dead5'/>
<id>3bdd2a8ca23c58673fdd715394e0c804c88dead5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>revert: Remove picker_comp module and PickerArgSuggest trait</title>
<updated>2026-08-02T04:16:06+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-08-02T04:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=baa4a8ec475ba8e7887fc8fa17582830411f1355'/>
<id>baa4a8ec475ba8e7887fc8fa17582830411f1355</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 `unwrap_or_default`, `unwrap_or_else`, and `expect`</title>
<updated>2026-07-28T04:17:07+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-28T04:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=ec1420d9d51b78285979a74ccc74c6266344c06f'/>
<id>ec1420d9d51b78285979a74ccc74c6266344c06f</id>
<content type='text'>
for tuples
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for tuples
</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/catilgrass/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/catilgrass/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(picker): removed unused module `corebind.rs`</title>
<updated>2026-07-26T13:53:19+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-26T13:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=ac381ecc84f11a2809881cf2264356309e8cd361'/>
<id>ac381ecc84f11a2809881cf2264356309e8cd361</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(arg_picker): add SinglePickable impls for network and path types</title>
<updated>2026-07-25T19:03:16+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-25T19:03:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=2cb8893711b73ccde946ca83e01dc315a9294c23'/>
<id>2cb8893711b73ccde946ca83e01dc315a9294c23</id>
<content type='text'>
Implement SinglePickable for IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr,
SocketAddrV4, SocketAddrV6, and PathBuf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement SinglePickable for IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr,
SocketAddrV4, SocketAddrV6, and PathBuf
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: add missing docs lint and document public API</title>
<updated>2026-07-20T06:49:47+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T06:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=9f5a0f2e9325264564bc6fe9ff544c034ad16287'/>
<id>9f5a0f2e9325264564bc6fe9ff544c034ad16287</id>
<content type='text'>
Add `#![deny(missing_docs)]` across multiple crates and fill in
documentation for all public items, including struct fields, enum
variants, trait methods, and proc macros.  Also mark two shell scripts
as executable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `#![deny(missing_docs)]` across multiple crates and fill in
documentation for all public items, including struct fields, enum
variants, trait methods, and proc macros.  Also mark two shell scripts
as executable.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(arg): add into_info conversion and flag formatting helpers</title>
<updated>2026-07-20T05:19:38+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-20T05:19:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=45fc8cfd6ab75ce8f91f7ea32c78f46df345ec90'/>
<id>45fc8cfd6ab75ce8f91f7ea32c78f46df345ec90</id>
<content type='text'>
- Move PickerArg-to-PickerArgInfo conversion into an `into_info` method
- Add `short_flag()` and `long_flag()` methods to PickerArgInfo
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Move PickerArg-to-PickerArgInfo conversion into an `into_info` method
- Add `short_flag()` and `long_flag()` methods to PickerArgInfo
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add pick_or, pick_or_default, and pick_or_route shorthands</title>
<updated>2026-07-19T23:36:03+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-19T23:36:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=a6697111573952903b3d9d0659ffe1af23432c3c'/>
<id>a6697111573952903b3d9d0659ffe1af23432c3c</id>
<content type='text'>
Remove the `Default` bound from `pick()` and `EntryPicker::pick()`,
allowing non-Default types to be used as arguments.

Add `IntoPicker::pick_or`, `pick_or_default`, and `pick_or_route`
convenience methods for common fallback patterns.

Fix token splitting in `arg!` macro to correctly handle angle brackets.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the `Default` bound from `pick()` and `EntryPicker::pick()`,
allowing non-Default types to be used as arguments.

Add `IntoPicker::pick_or`, `pick_or_default`, and `pick_or_route`
convenience methods for common fallback patterns.

Fix token splitting in `arg!` macro to correctly handle angle brackets.
</pre>
</div>
</content>
</entry>
</feed>
