<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/mingling_picker/src, branch feat/picker2</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/'/>
<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>refactor(flag_matcher): replace `vec_string_slice!` with single-pass</title>
<updated>2026-07-16T11:29:51+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T11:29:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=2287f5db3c12049afd274496a49b223365fb1e89'/>
<id>2287f5db3c12049afd274496a49b223365fb1e89</id>
<content type='text'>
iteration
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
iteration
</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>refactor: rename PickerFlag and PickerFlagAttr to PickerArg and</title>
<updated>2026-07-16T09:05:29+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T09:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=63730b461c009a33b08f9b98c0a583f08341895c'/>
<id>63730b461c009a33b08f9b98c0a583f08341895c</id>
<content type='text'>
PickerArgAttr
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PickerArgAttr
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: rename flag module to arg</title>
<updated>2026-07-16T09:02:29+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T09:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=9285084c63f48ba26fc3a3b0ab8a51792d13b14b'/>
<id>9285084c63f48ba26fc3a3b0ab8a51792d13b14b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(mingling_picker): replace bool Matcher with FlagMatcher</title>
<updated>2026-07-15T21:25:21+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T20:08:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=ea6dda762aa147ebcbc29b269e65b78dd046f4dd'/>
<id>ea6dda762aa147ebcbc29b269e65b78dd046f4dd</id>
<content type='text'>
Rename `bool_matcher` module to `flag_matcher` and introduce a dedicated
`FlagMatcher` struct, moving matching logic away from the `bool` type
itself
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename `bool_matcher` module to `flag_matcher` and introduce a dedicated
`FlagMatcher` struct, moving matching logic away from the `bool` type
itself
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker): add from_args and from_args_skip constructors</title>
<updated>2026-07-15T19:27:19+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T19:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=0bded81c4e205e387998bf64087acfc39cf70e3e'/>
<id>0bded81c4e205e387998bf64087acfc39cf70e3e</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): apply naming case conversion to long flags and aliases</title>
<updated>2026-07-15T17:28:37+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-15T17:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/mingling.git/commit/?id=8fe3a39994bdd95379ebd25afbb83889cded390f'/>
<id>8fe3a39994bdd95379ebd25afbb83889cded390f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
