Ответы, данные в Отключить автозаполнение удаленных веток в Zsh? больше не работает, так как zsh изменил способ, которым он это делает за последние шесть лет.
Я взломал версию функции __git_refs
, которая не перечисляет пульты, и сохранил определение в ~/.zsh-functions/__git_refs
. Файл начинается с unfunction __git_refs 2> /dev/null
, чтобы убедиться, что определение системной функции удалено.
Если я source ~/.zsh-functions/__git_refs
, то набрать git checkout <Tab>
, я вижу только локальные ветви, что правильно.
Но если я добавлю source ~/.zsh-functions/__git_refs
в конец моего .zshrc и запущу новый zsh, я все равно получу системную версию функции, и в завершении будут показаны как удаленные, так и локальные ветви.
Как я могу переопределить эту функцию, не вводя source ~/.zsh-functions/__git_refs
каждый раз, когда я запускаю оболочку?
(В качестве альтернативы, есть ли более чистый способ заставить zsh показывать только локальные ветви в дополнениях, которые все еще работают на zsh 5.6.2?)