<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_picker/src/pickable, branch feat/picker2</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>feat(pickable): extract SinglePickable into its own module</title>
<updated>2026-07-16T16:11:51+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T16:11:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=3f653ba743d1fb22e662e28ec9532b0adf8e9ba2'/>
<id>3f653ba743d1fb22e662e28ec9532b0adf8e9ba2</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, unpack, to_result, to_option on PickerPattern</title>
<updated>2026-07-15T09:09:27+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T09:09:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=06199a26474b1e53761ca6838014c4dc8d3488e2'/>
<id>06199a26474b1e53761ca6838014c4dc8d3488e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>feat(flag): add PositionalMulti variant and convenience methods</title>
<updated>2026-07-15T04:34:07+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T04:34:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=98d21cc18d2859493bfbfc2ee428861e5351e5a1'/>
<id>98d21cc18d2859493bfbfc2ee428861e5351e5a1</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>feat: add lifetime-bound pickable support and refine type constraints</title>
<updated>2026-07-14T11:51:19+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-14T11:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=fdd26053228593162fd5c41df9cfbc45d0c731b9'/>
<id>fdd26053228593162fd5c41df9cfbc45d0c731b9</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 core trait, types, and builder macro for argument</title>
<updated>2026-07-13T17:36:27+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-13T17:36:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=4665fc94ab9508d115298dd988e2381354f46c01'/>
<id>4665fc94ab9508d115298dd988e2381354f46c01</id>
<content type='text'>
parsing

Implement the foundational `mingling_picker` library along with its
companion
`mingling_picker_macros` crate. The picker provides:

- `Pickable` trait for parsing types from raw strings
- `PickerResult` enum modeling parse outcomes
- `Picker` struct for storing and indexing command-line arguments
- `PickerRequirement` struct for declarative parameter definitions
- `PickerPattern` family (1..32) of typed pattern structs via the
  `internal_repeat` proc macro
- `req!` proc macro as a succinct builder for `PickerRequirement`

Re-export `mingling_picker::macros::*` from the `mingling` crate when
the
`picker` feature is enabled, replacing the previous wildcard re-export
of
`mingling_macros`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
parsing

Implement the foundational `mingling_picker` library along with its
companion
`mingling_picker_macros` crate. The picker provides:

- `Pickable` trait for parsing types from raw strings
- `PickerResult` enum modeling parse outcomes
- `Picker` struct for storing and indexing command-line arguments
- `PickerRequirement` struct for declarative parameter definitions
- `PickerPattern` family (1..32) of typed pattern structs via the
  `internal_repeat` proc macro
- `req!` proc macro as a succinct builder for `PickerRequirement`

Re-export `mingling_picker::macros::*` from the `mingling` crate when
the
`picker` feature is enabled, replacing the previous wildcard re-export
of
`mingling_macros`.
</pre>
</div>
</content>
</entry>
</feed>
