Skip to content

v0.2.4:默认二维码各终端都扫得出,命令行和餐品名都能 TAB 补全

Choose a tag to compare

@zhutoumeme zhutoumeme released this 12 Oct 12:21
· 7 commits to main since this release

mcd-git v0.2.4

两件事:默认支付二维码在 macOS Terminal.app 里也能扫出来了,命令行可以按 TAB 补全,餐品名也能补。

修复:默认二维码各终端都扫得出

  • 默认改成整格画法:每个模块画成两个带背景色的空格,不依赖「▀」半块字形。上一版默认的半块码在 macOS Terminal.app 里扫不出,这一版默认就能扫。
  • --qr 取值:full(默认)/ half / fancy / fancy=名字。half 高度减半、更紧凑,但部分终端(比如 Terminal.app)可能扫不出。
  • 终端太窄自动退回:放不下整格码时退回半块,并提示把窗口拉宽后运行 git mcd show 重新出码。fancy 放不下时先退整格。
  • 二维码内容不变,扫了直接拉起麦当劳 App 付款,下面的文字支付链接也照旧。

新增:命令补全

# zsh:写进 ~/.zshrc
eval "$(mcd-git completion zsh)"
# bash:写进 ~/.bashrc(macOS 自带 bash 3.2 也能用)
eval "$(mcd-git completion bash)"
# fish
mcd-git completion fish > ~/.config/fish/completions/mcd-git.fish
  • 子命令、选项,以及 --qr fancy=burger、card --style receipt 这类取值都能补,zsh 候选带中文说明。
  • 餐品名补全:git mcd add 巨<TAB> → 巨无霸 / 巨无霸套餐。输「鸡腿」能补出麦辣鸡腿堡、板烧鸡腿堡。名字里有空格、括号、引号也能正确转义。restore --staged <TAB> 补的是购物车里的餐品。
  • 菜单读本机缓存 menu-cache.json(权限 600,只有餐品 code、名称、类型和门店,不存价格和地址)。缓存只在 ls-remote / add 这类本来就要查菜单的命令里顺手写,不多调接口。按 TAB 只读本机文件、不联网,一次大约 0.02 秒。缓存 24 小时有效,换门店后要重新 ls-remote。--demo 第一次就能补。
  • git mcd <TAB>:zsh 直接能用(git mc<TAB> 也行)。bash 要先加载 git 自带的 git-completion.bash,没加载时用等价的 mcd-git <TAB>。fish 的脚本照写,但还没实测。

说明

  • Agent 不需要补全,照常用 --json。
  • 不新增依赖,兼容 Python 3.9+。

安装 / 升级

uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.4
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.4"

试玩不需要 Token:eval "$(mcd-git completion zsh)" 之后试试 git mcd --demo add 巨<TAB>。完整变更见 CHANGELOG.md。