【问题标题】:mac os zsh git-prompt.sh cannot get colors to workmac os zsh git-prompt.sh 无法使颜色正常工作
【发布时间】:2020-08-11 18:58:48
【问题描述】:

我将 git-prompt.sh (https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh) 复制到 ~/.git-prompt.sh

然后在我的 .zsrhc 中有

source ~/.git-prompt.sh
setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '

分支显示但不显示颜色。

【问题讨论】:

  • 可能很明显,但你确定你的终端模拟器支持颜色吗?
  • 是的,git status 和 git branch 命令有效。

标签: git


【解决方案1】:

在第 557 行启用着色:

# NO color option unless in PROMPT_COMMAND mode
if [ $pcmode = yes ] && [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
    __git_ps1_colorize_gitstring
fi

您可以摆脱整个 if 条件并离开 __git_ps1_colorize_gitstring 或启用 precmd 这是 ZSH 相当于 PROMPT_COMMAND 和 pcmode 在这里代表什么 启用 GIT_PS1_SHOWCOLORHINTS:

$ source ~/.git-prompt.sh
$ GIT_PS1_SHOWCOLORHINTS=true
$ precmd () { __git_ps1 "%n" ":%~$ " "|%s" }

【讨论】:

    【解决方案2】:

    Git 上游有一个错误,我已经多次发送修复。

    我的 fork 中有 fixgit-completion

    你仍然需要设置GIT_PS1_SHOWCOLORHINTS=1

    【讨论】:

      猜你喜欢
      • 2015-06-06
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多