Я пытаюсь сделать свой git branch
фиолетовый. Вот что у меня есть:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
# git symbolic-ref --short HEAD 2> /dev/null
}
setopt PROMPT_SUBST
PS1='%{%F{green}%}%n@%m:%{%F{yellow}%}%1~%{%F{red}%}$(parse_git_branch)%{%F{none}%}$ '
Так что мой username@machine:
зеленый, а foldername
желтый, как и ожидалось. Однако, если я изменю цвет red
на purple
или что-нибудь еще, кроме white
или cyan
, мое приглашение не покажет правильный цвет.
К вашему сведению: Вот что у меня есть bash
:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\[\033[0;32m\]\u@\h\[\033[00m\]:\[\033[0;33m\]\W\[\033[0;35m\]\$(parse_git_branch)\[\033[00m\]\$ "
Я пробовал:
for i in {1..256}; do print -P "%F{$i}Color : $i"; done;
, и мой терминал показывает все диапазоны цветов, поэтому я заменил red
на некоторый код ANSI, но ветвь поворачивается cyan
. \e[0;31m$ \e[0m
с escape-символом ANSI, но все равно не работает. $F{}
, $fg{}
, et c. - И, конечно, выйдите из терминала, загрузите файл
~/.zshrc
, перезагрузите компьютер.
Чего мне не хватает?