e43dd05a6a731462c6124598ce2e4d1a9d3a5160

Author
Michael Andersen <michael.andersen.85@gmail.com>
Committer
Michael Andersen <michael.andersen.85@gmail.com>
Date

Message

Mortal Scumbag Theme

Diff

 1diff --git a/themes/mortalscumbag.zsh-theme b/themes/mortalscumbag.zsh-theme
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..7e25b149f8627231e0581d2ea531c76591dc987d
 4--- /dev/null
 5+++ b/themes/mortalscumbag.zsh-theme
 6@@ -0,0 +1,58 @@
 7+function my_git_prompt() {
 8+  tester=$(git rev-parse --git-dir 2> /dev/null) || return
 9+  
10+  INDEX=$(git status --porcelain 2> /dev/null)
11+  STATUS=""
12+
13+  # is branch ahead?
14+  if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
15+    STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
16+  fi
17+
18+  # is anything staged?
19+  if $(echo "$INDEX" | grep -E -e '^(D[ M]|[MARC][ MD]) ' &> /dev/null); then
20+    STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
21+  fi
22+
23+  # is anything unstaged?
24+  if $(echo "$INDEX" | grep -E -e '^[ MARC][MD] ' &> /dev/null); then
25+    STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
26+  fi
27+
28+  # is anything untracked?
29+  if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
30+    STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
31+  fi
32+
33+  # is anything unmerged?
34+  if $(echo "$INDEX" | grep -E -e '^(A[AU]|D[DU]|U[ADU]) ' &> /dev/null); then
35+    STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
36+  fi
37+
38+  if [[ -n $STATUS ]]; then
39+    STATUS=" $STATUS"
40+  fi
41+
42+  echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(my_current_branch)$STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX"
43+}
44+
45+function my_current_branch() {
46+  echo $(current_branch || echo "(no branch)")
47+}
48+
49+function ssh_connection() {
50+  if [[ -n $SSH_CONNECTION ]]; then
51+    echo "%{$fg_bold[red]%}(ssh) "
52+  fi
53+}
54+
55+PROMPT=$'\n$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : %~\n%# '
56+
57+ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}"
58+ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white]‹ %{$fg_bold[yellow]%}"
59+ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[magenta]%}↑"
60+ZSH_THEME_GIT_PROMPT_STAGED="%{$fg_bold[green]%}●"
61+ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg_bold[red]%}●"
62+ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[white]%}●"
63+ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[red]%}✕"
64+ZSH_THEME_GIT_PROMPT_SUFFIX=" $fg_bold[white]›%{$reset_color%}"