Skip to content

feat(mcp): 宿主旗标解析换 ca::opt,OutputSink 收编入 shared - #29

Merged
luiox merged 2 commits into
mainfrom
feat/use-ca-opt
Oct 29, 2026
Merged

luiox merged 2 commits into
mainfrom
feat/use-ca-opt

Conversation

@luiox

@luiox luiox commented Oct 29, 2026

Copy link
Copy Markdown
Owner

背景

mjbase cli 模块裁决退役(平行 PR):ArgParser 与 libca ca::opt 平行造轮(子命令/互斥组/CJK 排版全面落后)。本 PR 先行把 mjt 侧消费面转走,mjbase 侧随后整删模块。

内容

  • main.cpp:手写 strcmp 循环 → ca::opt 九选项声明式注册,--help 自动生成。--script 透传契约保持(按首个 --script 预切分 argv:头部解析、尾部整段留脚本);数值上限保留 strtoull 全数字校验(u64 域不用 Int 32 位口径),错误文案不变。
  • OutputSink 移交:FILE* 输出封装落 src/shared/output_sink.hpp(ns mjt::,去 cli 专有 Format 段),class_render/shadow_display/json_util 三消费面转指。
  • i18n:init 摘 kCliI18nTableSet 合并——该表只服务 ArgParser 框架文案,轮子退役后零查询。

验证

delete-then-rebuild:mjt_mcp 116+1 / workspace 40 / pysdk 44,基线持平;mjt-mcp 产品靶构建通过。

luiox added 2 commits October 29, 2026 23:24
- main.cpp 手写 strcmp 循环换 ca::opt(九个选项声明式注册,--help 自动
  生成);--script 透传契约保持:按首个 --script 预切分 argv,头部解析、
  尾部整段留脚本;数值上限保留 strtoull 全数字校验(u64 域不用 Int 的
  32 位口径),错误文案不变
- mjbase cli 模块随退役整体移交在用两小块:OutputSink(FILE* 输出封装)
  落 src/shared/output_sink.hpp(ns mjt::,去 cli 专有 Format 段),
  class_render/shadow_display/json_util 三消费面转指
- i18n init 摘 kCliI18nTableSet 合并(该表只服务 ArgParser 框架文案,
  轮子退役后零查询)

套件 116+1 / 40 / 44 基线持平。
CI 冒烟实证:aliases 含 --stdio 与自动注册的 --stdio 撞名,解析器定义期
即报 duplicate option token。aliases 只留真正附加别名(-i)。
@luiox
luiox merged commit bad7263 into main Oct 29, 2026
3 checks passed
@luiox
luiox deleted the feat/use-ca-opt branch October 29, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant