complete:13: command not found: compdef

complete:13: command not found: compdef

いつのまにかシェルのセッション開くたびcomplete:13: command not found: compdefが出て死にそうだった

原因

Google Cloud SDKインストール時にzshの設定ファイルに追記されるsource '$HOME/google-cloud-sdk/completion.zsh.inc'が原因だった($HOMEのところはハードコードされてると思う)

これはgcloudコマンドを補完するために必要っぽい

よくわからないけど、これが原因でzsh-completionsがうまく動かなくなっていた

というかcomplete:13: command not found: compdefって出てるけど、completeコマンド自体、bashのビルトインコマンドでzshには含まれてない

にもかかわらず$HOME/google-cloud-sdk/completion.zsh.incを見るとbashcompinitをロードしてるしcompleteコマンドを使っている

その辺が原因なのかな…。zsh用にcompletion.zsh.incを書き換えれば良い気がする(既にありそうだけど)

補完系の何か最近いじったっけな〜と思い.zshenv眺めてたら気づいた