* git.zsh is now themable:
* git_prompt_info() now will look in the following variables for
formatting strings:
* ZSH_THEME_GIT_PROMPT_PREFIX - Prefix for the prompt (before the
branch name)
* ZSH_THEME_GIT_PROMPT_SUFFIX - The very end of the prompt
* ZSH_THEME_GIT_PROMPT_DIRTY - Displayed when the branch is dirty
* ZSH_THEME_GIT_PROMPT_CLEAN - Displayed when the branch is clean
* Updated geoffgarside, robbyrussell, and maran to work with new git
theme
* Added the Risto theme, which is very similar to a number of bash
prompts, and allows me to use zsh in with out my co-workers knowing I
have the advantage. Think of it as a ninja theme.
| ... | ... |
@@ -1,16 +1,26 @@ |
| 1 |
+# |
|
| 2 |
+ZSH_THEME_GIT_PROMPT_PREFIX="git:("
|
|
| 3 |
+ZSH_THEME_GIT_PROMPT_SUFFIX=")" |
|
| 4 |
+ZSH_THEME_GIT_PROMPT_DIRTY="*" |
|
| 5 |
+ZSH_THEME_GIT_PROMPT_CLEAN="" |
|
| 6 |
+ |
|
| 1 | 7 |
# get the name of the branch we are on |
| 2 | 8 |
function git_prompt_info() {
|
| 3 | 9 |
if [[ -d .git ]]; then |
| 4 | 10 |
ref=$(git symbolic-ref HEAD 2> /dev/null) || return |
| 5 | 11 |
branch=${ref#refs/heads/}
|
| 6 |
- CURRENT_BRANCH="git:(%{$fg[red]%}${branch}%{$fg[blue]%})%{$reset_color%}$(parse_git_dirty)"
|
|
| 12 |
+ CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
|
| 7 | 13 |
else |
| 8 | 14 |
CURRENT_BRANCH='' |
| 9 | 15 |
fi |
| 10 | 16 |
|
| 11 | 17 |
echo $CURRENT_BRANCH |
| 12 | 18 |
} |
| 13 |
- |
|
| 14 | 19 |
parse_git_dirty () {
|
| 15 |
- [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]] && echo " %{$fg[yellow]%}✗%{$reset_color%}"
|
|
| 20 |
+ if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then |
|
| 21 |
+ echo "$ZSH_THEME_GIT_PROMPT_DIRTY" |
|
| 22 |
+ else |
|
| 23 |
+ echo "$ZSH_THEME_GIT_PROMPT_CLEAN" |
|
| 24 |
+ fi |
|
| 16 | 25 |
} |
| 26 |
+ |
| ... | ... |
@@ -1,3 +1,6 @@ |
| 1 | 1 |
# Theme with full path names and hostname |
| 2 | 2 |
# Handy if you work on different servers all the time; |
| 3 |
-PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) '
|
|
| 4 | 3 |
\ No newline at end of file |
| 4 |
+PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) '
|
|
| 5 |
+ |
|
| 6 |
+ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}git:("
|
|
| 7 |
+ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
|
| 5 | 8 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,6 @@ |
| 0 |
+# -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: |
|
| 1 |
+# It might be bash like, but I can't have my co-workers knowing I use zsh |
|
| 2 |
+PROMPT='%{$fg[green]%}%n@%m:%{$fg_bold[blue]%}%2~ $(git_prompt_info)%{$reset_color%}%(!.#.$) '
|
|
| 3 |
+ |
|
| 4 |
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹"
|
|
| 5 |
+ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}"
|
| ... | ... |
@@ -1 +1,6 @@ |
| 1 | 1 |
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
| 2 |
+ |
|
| 3 |
+ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
|
|
| 4 |
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
|
| 5 |
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
|
|
| 6 |
+ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
|