]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/lib/prompt.zsh
vim: stage cpp_highlight and replacewithregister
[dotfiles.git] / zsh / lib / prompt.zsh
index 03345162b5ee53d575a32ffc12bb3287b1c06cd4..3fc1c242758929cad8afc61f46eec3877ec8f751 100644 (file)
@@ -6,8 +6,8 @@ hostcolor=green
 [[ $(hostname) == "tardis" ]]  && hostcolor=red
 
 precmd() {
-  PROMPT='%T %n@%{$fg[$hostcolor]%}%m%{$reset_color%}%-0>..>$(git_prompt_status)%>>
-%(?..%{$fg_bold[white]%}%?%{$reset_color%})$(vi_prompt_info)%{%(!.$fg[red]❰.$fg[green]❱)%1G%} '
+  PROMPT='%T %n@%{$fg[$hostcolor]%}%m%(1j. $fg_bold[white]↵%{$fg_bold[red]%}%j.)%{$reset_color%}%-0>..>$(git_prompt_status)%>>
+%(?..%{$fg_bold[white]%}%?)%{$reset_color%}$(vi_prompt_info)%{%(!.$fg[red]❰.$fg[green]❱)%1G%} '
   RPROMPT='%{$fg[green]%}%~%{$reset_color%}'
 }
 
@@ -41,9 +41,9 @@ git_prompt_status() {
   # Get current status.
   while IFS=$'\n' read line; do
     if [[ "$line" == \#\#\ * ]]; then
-      [[ "$line" =~ '## ([^.]*)\.\.\.(.*)' ]] && branch=$match[1]
-      [[ "$line" =~ 'ahead ([0-9]+)'  ]]      && ahead=$match[1]
-      [[ "$line" =~ 'behind ([0-9]+)'  ]]     && behind=$match[1]
+      [[ "$line" =~ '## (.*?)(\.\.\.|$)' ]] && branch=$match[1]
+      [[ "$line" =~ 'ahead ([0-9]+)'  ]]  && ahead=$match[1]
+      [[ "$line" =~ 'behind ([0-9]+)'  ]] && behind=$match[1]
     else
       # Count added, deleted, modified, renamed, unmerged, untracked, dirty.
       # T (type change) is undocumented, see http://git.io/FnpMGw.