gpt4 book ai didi

git - 为带有颜色的 git 分支自定义 bash 提示符 (PS1)

转载 作者:太空狗 更新时间:2023-10-29 14:00:30 27 4
gpt4 key购买 nike

我目前正在使用 git-prompt.sh自定义我的 bash 提示符 (PS1) 以在我的 bash 提示符中显示我的 git repo 的状态。

This stackoverflow answer非常有帮助,但不是我想要的。

我当前的 .bashrc看起来像这样:

[aj@computer-name my_current_working_directory (git-branch-name)]$

我的 .gitconfig使用以下内容:

[color "status"]
added = green
changed = yellow
untracked = red

问题是。我如何实现以下目标?

我希望我的 bash 提示符继续以上面的方式出现,但根据我在 .gitconfig 中设置的状态颜色更改 (git-branch-name) 的颜色

感谢一百万!

最佳答案

我今天想要一个类似的功能,我通过如下修改 git-prompt.sh 实现了它:

__git_ps1_colorize_gitstring ()
{
if [[ -n ${ZSH_VERSION-} ]]; then
local c_red='%F{red}'
local c_green='%F{green}'
local c_clear='%f'
else
local c_red='\[\e[31m\]'
local c_green='\[\e[32m\]'
local c_clear='\[\e[0m\]'
fi

local branch_color=""
if [ "$w" = "*" ]; then # modified
branch_color="$c_red"
elif [ -n "$u" ]; then # untracked
branch_color="$c_red"
elif [ -n "$i" ]; then
branch_color="$c_green"
else
branch_color="$c_clear"
fi

c="$branch_color$c"
z="$c_clear$z"
w=""
i=""
s=""
u=""
r="$c_clear$r"
}

并将以下内容添加到我的 .bashrc 中:

GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUNTRACKEDFILES=1
GIT_PS1_SHOWCOLORHINTS=1

这会更改我的分支名称的颜色,而无需向提示添加 *%= 字符串。

关于git - 为带有颜色的 git 分支自定义 bash 提示符 (PS1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22792581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com