<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_picker/test, branch archived/picker2_prototype</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<entry>
<title>refactor(multi_pickable): extract `VecUntil` into its own module</title>
<updated>2026-07-16T18:49:16+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T18:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=f05a719efe572660aa2ca30bb490177bdace990c'/>
<id>f05a719efe572660aa2ca30bb490177bdace990c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add multi-value argument support with boundary checking</title>
<updated>2026-07-16T18:46:55+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T18:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=63d3fad181b83123c63335495b6c72ae8e5156cd'/>
<id>63d3fad181b83123c63335495b6c72ae8e5156cd</id>
<content type='text'>
Add `MultiArgMatcher` for greedy flag matching and
`MultiPickableWithBoundary` trait with `VecUntil&lt;T&gt;` wrapper for bounded
multi-value collection.

Introduce `BoundaryCheck` trait to allow positional multi-value
parameters to stop consuming arguments when a non-matching value is
encountered.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `MultiArgMatcher` for greedy flag matching and
`MultiPickableWithBoundary` trait with `VecUntil&lt;T&gt;` wrapper for bounded
multi-value collection.

Introduce `BoundaryCheck` trait to allow positional multi-value
parameters to stop consuming arguments when a non-matching value is
encountered.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(single-matcher): drop incomplete named flag pairs</title>
<updated>2026-07-16T16:56:01+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T16:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=23bb8d5417a25fc10ca1277ec1c4b5e86e843788'/>
<id>23bb8d5417a25fc10ca1277ec1c4b5e86e843788</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(arg_matcher): prevent `--` from being consumed as flag value</title>
<updated>2026-07-16T15:11:48+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T15:11:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=afd3230de38b28e89ac9ec48a951993fce379688'/>
<id>afd3230de38b28e89ac9ec48a951993fce379688</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(parselib): introduce PositionalMatcher for positional-only args</title>
<updated>2026-07-16T15:06:43+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T15:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=7bf5ba795361f6abe9d591a2912816ed41a9760b'/>
<id>7bf5ba795361f6abe9d591a2912816ed41a9760b</id>
<content type='text'>
Extract positional argument matching from ArgMatcher into a dedicated
matcher that respects the `--` terminator and skips flag-like tokens
before it.  Add test suite covering basic, after-`--`, and Windows-style
behaviour.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extract positional argument matching from ArgMatcher into a dedicated
matcher that respects the `--` terminator and skips flag-like tokens
before it.  Add test suite covering basic, after-`--`, and Windows-style
behaviour.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add string value support with inline value matching</title>
<updated>2026-07-16T11:58:30+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T11:58:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=81049b3abd83115374cfc51b26fb5d5054263f81'/>
<id>81049b3abd83115374cfc51b26fb5d5054263f81</id>
<content type='text'>
Implement `Pickable` for `String` supporting both positional and named
flags, and generalize value matching to use style-specific separators
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement `Pickable` for `String` supporting both positional and named
flags, and generalize value matching to use style-specific separators
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: extract `seek_end_of_options` into utils and add test helpers</title>
<updated>2026-07-16T11:47:01+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T11:47:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=4f4a61d493547660260a5aa1db1af8a6ec42bbb6'/>
<id>4f4a61d493547660260a5aa1db1af8a6ec42bbb6</id>
<content type='text'>
Deduplicate the `seek_end_of_options` function by moving it from both
`arg_matcher` and `flag_matcher` into a single shared implementation in
utils. Add `make_masked` and `make_args` test helpers to the test crate
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Deduplicate the `seek_end_of_options` function by moving it from both
`arg_matcher` and `flag_matcher` into a single shared implementation in
utils. Add `make_masked` and `make_args` test helpers to the test crate
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(parselib): implement ArgMatcher for named and positional args</title>
<updated>2026-07-16T11:42:28+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T11:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=20253556eacdcb068210254b540f47a4522fc6f5'/>
<id>20253556eacdcb068210254b540f47a4522fc6f5</id>
<content type='text'>
Implement `on_match_one` and `on_match_all` for `ArgMatcher`,
supporting named flags (with eq-mode and short flags), positional
arguments, end-of-options marker (`--`), and case-insensitive matching
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement `on_match_one` and `on_match_all` for `ArgMatcher`,
supporting named flags (with eq-mode and short flags), positional
arguments, end-of-options marker (`--`), and case-insensitive matching
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add `Flag` value type and `Pickable` implementation</title>
<updated>2026-07-16T11:04:10+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T10:58:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=41fe0580212b3a681fd767d331fd8875ee59b019'/>
<id>41fe0580212b3a681fd767d331fd8875ee59b019</id>
<content type='text'>
Add a new `Flag` enum in `mingling_picker::value` that explicitly
distinguishes between an absent flag (`Inactive`) and a present flag
(`Active`), along with its `Pickable` implementation.  Rename internal
fields from `flag_*` to `arg_*` for consistency, update the default
naming case to `Kebab`, and enable the `mingling_support` feature in
workspace settings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new `Flag` enum in `mingling_picker::value` that explicitly
distinguishes between an absent flag (`Inactive`) and a present flag
(`Active`), along with its `Pickable` implementation.  Rename internal
fields from `flag_*` to `arg_*` for consistency, update the default
naming case to `Kebab`, and enable the `mingling_support` feature in
workspace settings.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: replace `macros::flag` with `macros::arg` in tests</title>
<updated>2026-07-16T10:41:04+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T10:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=7ab6216fd2c056ef0c155f37e4c95df90b88701c'/>
<id>7ab6216fd2c056ef0c155f37e4c95df90b88701c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
