aboutsummaryrefslogtreecommitdiff
path: root/oh-my-zsh
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh')
-rw-r--r--oh-my-zsh/xcolour.zsh-theme48
1 files changed, 46 insertions, 2 deletions
diff --git a/oh-my-zsh/xcolour.zsh-theme b/oh-my-zsh/xcolour.zsh-theme
index 3ab82ff..1578a47 100644
--- a/oh-my-zsh/xcolour.zsh-theme
+++ b/oh-my-zsh/xcolour.zsh-theme
@@ -6,9 +6,53 @@ function prompt_char {
echo '$'
}
+function return_code {
+ code=$(echo $?)
+ if [[ $code == "0" ]]; then
+ return
+ else
+ echo "%{$fg[red]%}$code%{$reset_color%} "
+ fi
+}
+
+function parse_git_branch {
+ echo "${ref#refs/heads/}"
+}
+
+function parse_git_staged {
+ $(git diff-index --quiet --cached HEAD) && return
+ echo "staged"
+}
+function parse_git_unstaged {
+ $(git diff-files --quiet) && return
+ echo "unstaged"
+}
+
+function my_git_prompt_info {
+ ref=$(git symbolic-ref HEAD 2> /dev/null) || return
+# # staged
+# git diff-index --quiet --cached HEAD
+# if [ $? -eq 1 ]; then
+# echo "(%{$fg[yellow]%}${ref#refs/heads/}%{$reset_color%}) "
+# return
+# fi
+# # uunstaged
+# git ls-files --exclude-standard --others
+# if [ $? -eq 1 ]; then
+# echo "(%{$fg[red]%}${ref#refs/heads/}%{$reset_color%}) "
+# return
+# fi
+# # untracked and unignored
+# git diff-files --quiet
+# if [ $? -eq 1 ]; then
+# echo "(%{$fg[red]%}${ref#refs/heads/}%{$reset_color%}) "
+# return
+# fi
+ echo "(${ref#refs/heads/}) "
+}
+
PROMPT='%{$fg[yellow]%}%n%{$reset_color%}@%{$fg[green]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}
-$(prompt_char) %{$reset_color%}'
-RPROMPT='%D{%r}'
+$(return_code)$(my_git_prompt_info)$(prompt_char) %{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="("
ZSH_THEME_GIT_PROMPT_SUFFIX=") "