Проблема
У меня есть zsh, установленный на Mac OS Catalina и использующий iTerm2 в качестве терминала. Я использую тему robbyrussell.zsh-theme
и изменил ее для печати электронной почты git в приглашении (дополнительная информация здесь ). Я изменил robbyrussell.zsh-theme
на это:
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT+=' %{$fg[cyan]%}%~%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}$(git_current_user_email)["
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}] %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}] %{$fg[green]%}✔"
Когда я перехожу в каталог git, он не получает электронную почту пользователя из локального .git/config
или из глобального ~/.git/config
.
Проведенные исследования:
Я просмотрел несколько stackoverflow и других статей и перепробовал кучу вещей, но безуспешно.
Подход, который сработал для меня, заключался в создании псевдонимов для переключения между двумя адресами электронной почты:
home='git config user.email "<homeemail>" && source ~/.zshrc'
work='git config user.email "<workemail>" && source ~/.zshrc'
Но я должен выполнять эти команды все время, чтобы подсказка забирала письмо, даже если оно установлено в локальной конфигурации git.
Может ли кто-нибудь помочь в отношении того, что нужно сделать, чтобы zsh запрашивал чтение электронной почты пользователя git напрямую, когда мы переходим в репозиторий?
[
вZSH_THEME_GIT_PROMPT_PREFIX
и не доводить его доPROMPT
- person codenoob   schedule 13.05.2021