Zsh на OSX Mojave не обновляется vcs_info - PullRequest
0 голосов
/ 04 июня 2019

Я работаю в OSX Mojave и использую zsh в качестве терминала для входа в систему - я использую приложение Terminal.

Я просто пытаюсь показать текущую ветку репозитория git, в котором я нахожусь (еслидоступно) с помощью vcs_info.Соответствующая часть моего .zshrc файла выглядит следующим образом:

autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' formats "%F{010}(%b)%f "

precmd() { vcs_info }
setopt prompt_subst

PROMPT="%F{226}%m:%n @ %F{214}%1d %F{226}\$%f ${vcs_info_msg_0_}"

Я ожидаю:

  1. Я загружаю терминал и начинаю с ~ (домашнийкаталог).Приглашение zsh должно читать

    hostname:username @ user $

  2. cd dev/repo переводит меня в репозиторий git, приглашение zsh должно читать

    hostname:username @ repo $ (master)

  3. cd .. возвращает меня к dev, который не является git-репо, подсказка должна читать

    hostname:username @ dev $

У меня возникает:

Приглашение никогда не изменяется / обновляется автоматически;Мне нужно запустить source ~/.zshrc, чтобы выполнить быстрое обновление при смене каталогов.

Что я пробовал:

Я пытался обновить блок precmd() следующим образом:

precmd() {
    vcs_info
    echo "This has been executed"
}

И я вижу This has been executed прямо перед каждым запросом, поэтому я знаю, что блок precmd вводится правильно.Кажется, что vcs_info просто не работает.

Возможно, я что-то упустил;кто-то может указать, в чем проблемаСпасибо!

...