mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
Adding port of __git_ps1 function that comes with git's bash_completion.
This commit is contained in:
parent
dc12853b0c
commit
79305256b9
2 changed files with 54 additions and 1 deletions
|
|
@ -26,6 +26,59 @@ function current_branch() {
|
||||||
echo ${ref#refs/heads/}
|
echo ${ref#refs/heads/}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
|
||||||
|
# returns text to add to bash PS1 prompt (includes branch name)
|
||||||
|
function __git_ps1 () {
|
||||||
|
local g="$(git rev-parse --git-dir 2>/dev/null)"
|
||||||
|
if [ -n "$g" ]; then
|
||||||
|
local r
|
||||||
|
local b
|
||||||
|
if [ -d "$g/rebase-apply" ]
|
||||||
|
then
|
||||||
|
if test -f "$g/rebase-apply/rebasing"
|
||||||
|
then
|
||||||
|
r="|REBASE"
|
||||||
|
elif test -f "$g/rebase-apply/applying"
|
||||||
|
then
|
||||||
|
r="|AM"
|
||||||
|
else
|
||||||
|
r="|AM/REBASE"
|
||||||
|
fi
|
||||||
|
b="$(git symbolic-ref HEAD 2>/dev/null)"
|
||||||
|
elif [ -f "$g/rebase-merge/interactive" ]
|
||||||
|
then
|
||||||
|
r="|REBASE-i"
|
||||||
|
b="$(cat "$g/rebase-merge/head-name")"
|
||||||
|
elif [ -d "$g/rebase-merge" ]
|
||||||
|
then
|
||||||
|
r="|REBASE-m"
|
||||||
|
b="$(cat "$g/rebase-merge/head-name")"
|
||||||
|
elif [ -f "$g/MERGE_HEAD" ]
|
||||||
|
then
|
||||||
|
r="|MERGING"
|
||||||
|
b="$(git symbolic-ref HEAD 2>/dev/null)"
|
||||||
|
else
|
||||||
|
if [ -f "$g/BISECT_LOG" ]
|
||||||
|
then
|
||||||
|
r="|BISECTING"
|
||||||
|
fi
|
||||||
|
if ! b="$(git symbolic-ref HEAD 2>/dev/null)"
|
||||||
|
then
|
||||||
|
if ! b="$(git describe --exact-match HEAD 2>/dev/null)"
|
||||||
|
then
|
||||||
|
b="$(cut -c1-7 "$g/HEAD")..."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${1-}" ]; then
|
||||||
|
printf "$1" "${b##refs/heads/}$r"
|
||||||
|
else
|
||||||
|
printf " (%s)" "${b##refs/heads/}$r"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# these aliases take advangate of the previous function
|
# these aliases take advangate of the previous function
|
||||||
alias ggpull='git pull origin $(current_branch)'
|
alias ggpull='git pull origin $(current_branch)'
|
||||||
alias ggpush='git push origin $(current_branch)'
|
alias ggpush='git push origin $(current_branch)'
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(__git_ps1)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue