<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_picker/src/infos.rs, branch feat/picker2</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>feat(picker): add builtin bool pickable and parselib matcher framework</title>
<updated>2026-07-15T11:33:45+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T11:31:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=8b2bbdef88f47838ed0326f5c9cf86bac84babde'/>
<id>8b2bbdef88f47838ed0326f5c9cf86bac84babde</id>
<content type='text'>
Add `Pickable` implementation for `bool` and the supporting `Matcher`
trait
with utility functions for argument matching.  Expose `pickable_needed`
and
`matcher_needed` modules for downstream trait implementors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `Pickable` implementation for `bool` and the supporting `Matcher`
trait
with utility functions for argument matching.  Expose `pickable_needed`
and
`matcher_needed` modules for downstream trait implementors.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add early route on missing flag</title>
<updated>2026-07-15T08:36:05+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T08:36:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=53fc28520c1314cd1bd223628c30d6a4423756a1'/>
<id>53fc28520c1314cd1bd223628c30d6a4423756a1</id>
<content type='text'>
Introduce `or_route` and a `PickerResult` type that carries an optional
route value.  When a flag is absent, the closure given to `or_route` is
evaluated and stored in `error_route`, allowing the caller to exit early
without a default value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce `or_route` and a `PickerResult` type that carries an optional
route value.  When a flag is absent, the closure given to `or_route` is
evaluated and stored in `error_route`, allowing the caller to exit early
without a default value.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove ParseError variant from PickerArgResult</title>
<updated>2026-07-15T08:18:07+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T08:18:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=9c3d22ad86b7c3e915f734b2c6c137c6b8b7474e'/>
<id>9c3d22ad86b7c3e915f734b2c6c137c6b8b7474e</id>
<content type='text'>
The ParseError variant has been removed and its usages in From,
is_found, is_err, and unwrap have been updated to use NotFound
instead, simplifying the error handling model.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ParseError variant has been removed and its usages in From,
is_found, is_err, and unwrap have been updated to use NotFound
instead, simplifying the error handling model.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: rename `PickerResult` to `PickerArgResult` and add new</title>
<updated>2026-07-15T08:08:10+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T08:08:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=c3e990a5c47dc8894899d774a0d89f089adec308'/>
<id>c3e990a5c47dc8894899d774a0d89f089adec308</id>
<content type='text'>
`PickerResult` struct
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`PickerResult` struct
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: remove unnecessary `Default` bound from `Pickable` trait</title>
<updated>2026-07-15T07:37:39+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T07:37:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=7620fd1d1e9ff4105c2d93c80c73b2c2ec1cbc9a'/>
<id>7620fd1d1e9ff4105c2d93c80c73b2c2ec1cbc9a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(pickable): redesign Pickable trait with two-phase parse API</title>
<updated>2026-07-14T19:52:25+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-14T19:52:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=559ff1a4d5d164c2fdbc29a9957e3db38651705f'/>
<id>559ff1a4d5d164c2fdbc29a9957e3db38651705f</id>
<content type='text'>
Introduce `get_attr`, `tag`, and `pick` as the new trait methods,
replacing
the single `tag` method that returned a `PickerTag`.  This enables the
parser to first collect all argument position requirements and then
resolve
them in a second pass.

Rename `PickerTag` to `PickerArgInfo` and reorder `PickerFlagAttr`
variants
to reflect parse priority (`Positional &lt; Flag &lt; Single &lt; Multi`).  Add
`positional_or_else` helper to `PickerFlagAttr`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce `get_attr`, `tag`, and `pick` as the new trait methods,
replacing
the single `tag` method that returned a `PickerTag`.  This enables the
parser to first collect all argument position requirements and then
resolve
them in a second pass.

Rename `PickerTag` to `PickerArgInfo` and reorder `PickerFlagAttr`
variants
to reflect parse priority (`Positional &lt; Flag &lt; Single &lt; Multi`).  Add
`positional_or_else` helper to `PickerFlagAttr`.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: consolidate result and tag modules into infos</title>
<updated>2026-07-14T19:10:24+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-14T19:10:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=0344b9bd05296b879da9688b0abddc4c9c40c9ea'/>
<id>0344b9bd05296b879da9688b0abddc4c9c40c9ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
