Skip to content

refactor(cli): cli 模块整体退役——解析轮归 libca ca::opt - #107

Merged
luiox merged 1 commit into
mainfrom
feat/retire-cli
Oct 29, 2026
Merged

luiox merged 1 commit into
mainfrom
feat/retire-cli

Conversation

@luiox

@luiox luiox commented Oct 29, 2026

Copy link
Copy Markdown
Owner

裁决

cli 解析轮与 libca ca::opt 平行造轮(子命令嵌套/互斥组/类型化选项/CJK 宽度排版全面落后),且全仓零产品消费方。mjt 唯一在用的两小块已先行处置(luiox/mjt#29):OutputSink 移交 mjt/src/shared,i18n 表合并摘除,宿主旗标解析直接换 ca::opt。

内容

  • 删 src/mjbase/cli/(ArgParser/keep_cli/cli_runner/i18n_tables/output_sink)+ test/unittest/cli/(48 用例随模块)
  • 连带退役整条死 i18n 链:translations(42 个 mbase.cli.* 键仅服务 ArgParser 文案)、i18n_src_sync 生成头回源 rule、i18n.hpp 兜底门(mjbase::tr 全仓零消费方)、i18n_test、embed-lang 行
  • 下游注意:若有仓外消费方(mjdbg 等)依赖 mjbase::tr 兜底,改为自带表一行注册即可

验证

delete-then-rebuild:1871 绿 + 3 既有 POSIX 跳过(1922 − 48 逐位对账),零 xmake warning。

ArgParser(458 行声明式解析器)与 libca ca::opt 平行造轮(子命令嵌套/
互斥组/类型化选项/CJK 宽度 help 排版全面落后),且全仓零产品消费方:
mjt 唯一在用的是 OutputSink 与 kCliI18nTableSet 两小块(已先行移交/
摘除,mjt#29),keep_cli/cli_runner/ArgParser 零触达。

连带退役整条死 i18n 链:cli/translations(42 个 mbase.cli.* 键只服务
ArgParser 文案)、生成头回源 rule(i18n_src_sync)、i18n.hpp 兜底门
(mjbase::tr 全仓零消费方,mjt 自带表自注册)、i18n_test。

- 删 src/mjbase/cli(6 文件)+ test/unittest/cli(4 文件)+
  test/unittest/i18n + src/mjbase/i18n.hpp + 生成头
- xmake 摘对应 src/test glob、embed-lang 行与同步 rule
- 套件 1871 绿 + 3 既有 POSIX 跳过(1922 − 48 逐位对账)
@luiox
luiox merged commit c2148e7 into main Oct 29, 2026
2 checks passed
@luiox
luiox deleted the feat/retire-cli branch October 29, 2026 15:50
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