В настоящее время моя подсказка терминала содержит информацию о git.
Пример чистого каталога: michaelespinosa: ~ / Sites / example.com [git: master]
Пример грязного каталога: michaelespinosa: ~ / Sites / example.com [git: master *]
Я хочу также раскрасить информацию о git (зеленый, если он чистый, или красный, если он грязный).
Я подумал, что мог бы добавить функцию (parse_git_color) и установить ее цвет в соответствии с оператором if else на основе наличия звездочки.
Проблема в том, что он возвращает зеленый цвет как для чистых, так и для грязных каталогов. Я считаю, что проблема связана с оператором if parse_git_dirty == "*", который сравнивает значение значения parse_git_dirty с "*"
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_color {
if [ parse_git_dirty == "*" ]; then
echo '\033[0;31m\'
else
echo '\033[0;32m\'
fi
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/$(parse_git_color)[git:\1$(parse_git_dirty)]/"
}
Любая помощь приветствуется!
Спасибо