動かざることバグの如し

近づきたいよ 君の理想に

MacOSのzshでdiffコマンドの補完が効かない問題

環境

  • macOS Sequoia/Tahoe
  • Prezto

問題

macOSでdiff -u のファイル名補完ができない。

diff -u [TAB]

と1つ目のファイル名の補完はできるのだが、

diff -u AGENTS.md [TAB]

と2つ目のファイル名を補完しようとすると、

diff -u AGENTS.md -
  -- no more arguments --

となりファイル名の補完が出ない。

特に致命的な問題ではなかったので本腰を入れて調査してなかったのだが、ググったら解決してくれている人がいた。

zenn.dev

このパッチで修正されたらしい。どうもmacOS Ventura以降でバグってたらしい。

www.zsh.org

自分の場合はPreztoを使っていたので ~/.zprezto/modules/completion/external/src 配下に置いて

curl -L https://raw.githubusercontent.com/zsh-users/zsh/refs/heads/master/Completion/Unix/Type/_diff_options > ~/.zprezto/modules/completion/external/src/_diff_options

ターミナル再起動すると直った。やったね。

diff -u AGENTS.md AGENTS_NEW.md

参考リンク