Как я могу отладить завершение ZSH для git на macos

Я переключился на zsh, когда обновился до Catalina, и в целом был очень доволен, особенно тем, сколько завершений just work без какой-либо работы с моей стороны. Но где-то на прошлой неделе или около того дополнения перестали работать. Это работало (опять же, без моей работы) для псевдонимов, которые у меня были, например, co для checkout, чтобы я мог сделать

% git co mybr<tab>       # becomes git co mybranch

Но теперь даже BASIC-дополнения, такие как подкоманды, не работают.

% git checko<tab>        # nothing.  doh!

Так что я провел небольшое расследование. Мой fpath, приведенный ниже, показывает, что единственными настройками являются некоторые вещи, которые застряли в /usr/local/share.

pristineuser ~ % echo $fpath
/usr/local/share/zsh/site-functions /usr/share/zsh/site-functions /usr/share/zsh/5.7.1/functions

pristineuser ~ % ls /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions 
/usr/local/share/zsh/site-functions:
_brew       _brew_cask

/usr/share/zsh/site-functions:

pristineuser ~ % ls -1 /usr/share/zsh/5.7.1/functions | grep git
VCS_INFO_detect_git
VCS_INFO_get_data_git
_git
_git-buildpackage
_stgit
_topgit
run-help-git

У кого-нибудь есть идеи, почему мои завершения git zsh не работают (даже простые подкоманды) или как я могу отладить то, что происходит?


person Marvin    schedule 20.09.2020    source источник


Ответы (1)


Итак, я не уверен, что произошло. Но просто перейдя к основным принципам и прочитав документы о zsh-дополнениях, я добавил:

autoload -Uz compinit && compinit

на мой .zprofile и все работает как положено.

Я не понимаю, как это работало раньше (изменение на значения по умолчанию OSX с обновлением? Скорее всего, какие-то произвольные изменения с моей стороны для чего-то другого?)

person Marvin    schedule 24.09.2020