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
眺めてたら気づいた