<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mingling.git/Cargo.toml, branch unreleased</title>
<subtitle>用于开发多子命令的命令行框架
</subtitle>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/'/>
<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>chore: bump workspace version to 0.3.0</title>
<updated>2026-07-10T17:55:22+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T17:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=41e076651196cf6066a73d88ce11635be35f0f26'/>
<id>41e076651196cf6066a73d88ce11635be35f0f26</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 mingling-picker and mingling-picker-macros crates</title>
<updated>2026-07-10T17:51:35+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T17:51:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=9245799135458d9afd5e779b6d061cee0962d585'/>
<id>9245799135458d9afd5e779b6d061cee0962d585</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(devtools): rename dev_tools to .run and replace run-tools</title>
<updated>2026-07-10T08:54:57+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-10T08:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=5d258482fb84d58c966a7ccc1b467708278d28ad'/>
<id>5d258482fb84d58c966a7ccc1b467708278d28ad</id>
<content type='text'>
scripts

Replace the old run-tools.ps1/run-tools.sh scripts with a new
unified run.ps1/run.sh launcher that supports multiple languages
(PowerShell, Rust, Python, Go, C#, Nim, Perl, Ruby, Zig, and
arbitrary binaries) from the `.run/src/bin` directory.

Move all development tools from `dev_tools/` to `.run/`, update
Cargo workspace config and relevant documentation references.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
scripts

Replace the old run-tools.ps1/run-tools.sh scripts with a new
unified run.ps1/run.sh launcher that supports multiple languages
(PowerShell, Rust, Python, Go, C#, Nim, Perl, Ruby, Zig, and
arbitrary binaries) from the `.run/src/bin` directory.

Move all development tools from `dev_tools/` to `.run/`, update
Cargo workspace config and relevant documentation references.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: switch workspace dependencies from path to versioned 0.2.2</title>
<updated>2026-07-09T17:31:09+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-09T17:26:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=73d0f0185f94a8733dfb5eb538298447ab8977b3'/>
<id>73d0f0185f94a8733dfb5eb538298447ab8977b3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: bump version to 0.2.2</title>
<updated>2026-07-09T17:12:23+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-09T17:12:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=d8b6281559002270ee10d79ced3b353fbb35607b'/>
<id>d8b6281559002270ee10d79ced3b353fbb35607b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(deps): switch workspace crates to local paths</title>
<updated>2026-07-09T16:59:21+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-09T16:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=8ddd5031f749470dea7d26b0cfc3acfb50e509ea'/>
<id>8ddd5031f749470dea7d26b0cfc3acfb50e509ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(changelog): prepare 0.2.1 release and add unreleased section</title>
<updated>2026-07-01T21:00:05+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-07-01T20:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=63c1790c909776945bcc33d185367d364c9313a8'/>
<id>63c1790c909776945bcc33d185367d364c9313a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: bump version to 0.2.1 and switch deps to path</title>
<updated>2026-06-30T14:47:07+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-06-30T14:47:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=fbe831d29310e050f156355ece670c5a89f9d269'/>
<id>fbe831d29310e050f156355ece670c5a89f9d269</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Released Mingling 0.2.0</title>
<updated>2026-06-30T14:41:03+00:00</updated>
<author>
<name>魏曹先生</name>
<email>1992414357@qq.com</email>
</author>
<published>2026-06-30T14:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.catilgrass.cn/catilgrass/mingling.git/commit/?id=9bbb5eb14aa54fea87d55c25e5117c6202776359'/>
<id>9bbb5eb14aa54fea87d55c25e5117c6202776359</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
