<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/docs, branch main</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/'/>
<entry>
<title>docs: add API documentation deployment section to CI docs</title>
<updated>2026-07-17T04:04:43+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-17T04:04:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=43251436f588961671a6ab23e3079850deefd345'/>
<id>43251436f588961671a6ab23e3079850deefd345</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(picker2): complete Picker2 prototype</title>
<updated>2026-07-16T19:25:24+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-16T19:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=b9f208deed7b8e012fbcd84202e2fb1d5eb8eeb9'/>
<id>b9f208deed7b8e012fbcd84202e2fb1d5eb8eeb9</id>
<content type='text'>
Picker2 replaces the original Picker1 with a two-phase (tag → pick) +
mask-bitmap architecture, decoupling argument matching from type
conversion via a composable matcher pipeline.

Architecture
- FlagMatcher — boolean flags (--verbose)
- ArgMatcher — single flag+value pairs (--name Alice)
- MultiArgMatcher — multi-value flag groups (--files a.txt b.txt)
- PositionalMatcher — positional arguments, respects `--`
- SingleMatcher — composite for Single-type Pickables

Types
- Flag (Active/Inactive) — semantic bool flag value
- String + 14 numeric types via SinglePickable trait
- Vec&lt;T&gt; — greedy multi-value (all SinglePickable types)
- VecUntil&lt;T&gt; — bounded multi-value via BoundaryCheck trait
- VecUntil&lt;T&gt;, pick_string, pick_numbers, pick_bool, pick_flag

Style system
- UNIX_STYLE (kebab), POWERSHELL_STYLE (Pascal), WINDOWS_STYLE (Pascal)
- naming_case auto-conversion via just_fmt integration
- Style-aware separator (= for Unix, : for PS/Windows)

Infrastructure
- internal_repeat! macro generates PickerPattern1..=32
- SinglePickable blanket impl → Pickable
- MultiPickableWithBoundary trait with greedy/bounded variants
- 151 integration tests
- Docs updated for parser feature
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Picker2 replaces the original Picker1 with a two-phase (tag → pick) +
mask-bitmap architecture, decoupling argument matching from type
conversion via a composable matcher pipeline.

Architecture
- FlagMatcher — boolean flags (--verbose)
- ArgMatcher — single flag+value pairs (--name Alice)
- MultiArgMatcher — multi-value flag groups (--files a.txt b.txt)
- PositionalMatcher — positional arguments, respects `--`
- SingleMatcher — composite for Single-type Pickables

Types
- Flag (Active/Inactive) — semantic bool flag value
- String + 14 numeric types via SinglePickable trait
- Vec&lt;T&gt; — greedy multi-value (all SinglePickable types)
- VecUntil&lt;T&gt; — bounded multi-value via BoundaryCheck trait
- VecUntil&lt;T&gt;, pick_string, pick_numbers, pick_bool, pick_flag

Style system
- UNIX_STYLE (kebab), POWERSHELL_STYLE (Pascal), WINDOWS_STYLE (Pascal)
- naming_case auto-conversion via just_fmt integration
- Style-aware separator (= for Unix, : for PS/Windows)

Infrastructure
- internal_repeat! macro generates PickerPattern1..=32
- SinglePickable blanket impl → Pickable
- MultiPickableWithBoundary trait with greedy/bounded variants
- 151 integration tests
- Docs updated for parser feature
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: Update help functions note to use `writeln!` instead of</title>
<updated>2026-07-11T08:52:15+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-11T08:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=32d9c4adbf58b810f73f4116bb328caae4e0743b'/>
<id>32d9c4adbf58b810f73f4116bb328caae4e0743b</id>
<content type='text'>
`r_println!`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`r_println!`
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(docs): mark documentation update as completed</title>
<updated>2026-07-11T08:19:13+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-11T08:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=4c34baa29927b22c3537c70a5dc374c0420d22d6'/>
<id>4c34baa29927b22c3537c70a5dc374c0420d22d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: migrate renderers from `r_println!` to `RenderResult` return type</title>
<updated>2026-07-11T08:03:20+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-11T08:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=810536fb1f068f969af316be0450a1edacfe8e28'/>
<id>810536fb1f068f969af316be0450a1edacfe8e28</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: mark remove-r-print-macro tasks as complete</title>
<updated>2026-07-11T07:24:34+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-11T07:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=befdc9e609c14aa768a3ab299ae0c678201a8c65'/>
<id>befdc9e609c14aa768a3ab299ae0c678201a8c65</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(dev): add changelog template</title>
<updated>2026-07-11T06:03:02+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-11T06:03:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=866d3ad8d8a2b26279237d17e0a2b9c1cea41f00'/>
<id>866d3ad8d8a2b26279237d17e0a2b9c1cea41f00</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: fix trailing whitespace in add-picker2.md</title>
<updated>2026-07-10T18:31:58+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T18:31:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=f02682c2d82b7670371fb6085b0735c6c5c5be40'/>
<id>f02682c2d82b7670371fb6085b0735c6c5c5be40</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update add-picker2.md</title>
<updated>2026-07-10T18:30:58+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T18:26:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=b388be3cf31c4689e3aaf9b4966e5e03953c8c77'/>
<id>b388be3cf31c4689e3aaf9b4966e5e03953c8c77</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(dev): add Picker2 arguments parser issue page</title>
<updated>2026-07-10T18:01:32+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T17:58:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=06b7ae78ed4b86b80e9708206787326c1142249a'/>
<id>06b7ae78ed4b86b80e9708206787326c1142249a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
