]> git.siccegge.de Git - dotfiles/zsh.git/blobdiff - zshrc
Add alias to launch GUI Emacs
[dotfiles/zsh.git] / zshrc
diff --git a/zshrc b/zshrc
index a6df1013f42361caa972ccd9a6f449a9d81168aa..fd2baf2825bdb7838379deb6cb5315c4affd1f8b 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -34,10 +34,21 @@ colors
 
 zmodload -i zsh/complist
 
+_force_rehash() {
+    if (( CURRENT == 1 )); then
+        rehash
+    fi
+    # We didn't really complete anything.
+    return 1
+}
+
 zstyle :compinstall filename '/home/christoph/.zshrc'
 zstyle ':completion:*' menu select=3
 zstyle -e ':completion::*:*:*:hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2|_uni|_debian)(N) /dev/null)"}%%[# ]*}//,/ })'
 zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
+zstyle ':completion:::::' completer _force_rehash _complete _approximate _expand _ignored
+zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $(( ($#PREFIX + $#SUFFIX) / 3 )) )'
+zstyle ':completion:*:(^approximate):*' matcher-list 'm:{a-z}={A-Z}'
 
 bindkey -e
 bindkey '\ee' backward-word 
@@ -55,6 +66,12 @@ setWindowTitle(){
 precmd () {
     vcs_info
     setWindowTitle ${USER}@${HOST}
+
+    if [[ $UID == 0 && $+commands[systemctl] != 0 ]]
+    then
+      use_systemd=true
+      systemd_failed="`systemctl --state=failed | grep failed | cut -d \  -f 2 | tr '\n' ' '`"
+    fi
 }
 
 config=("default" "`uname -s`")
@@ -78,7 +95,15 @@ case "${DOMAIN//cs.fau.de/informatik.uni-erlangen.de}" in
                ;;
 esac
 
-PROMPT=$'%{$fg[yellow]%}%n@%{$fg[magenta]%}%m%{$reset_color%} %~ \n%{$fg[cyan]%}%T%{$reset_color%} %0(?,%{$fg[green]%},%{$fg[red]%}%s)%?%{$reset_color%} %# '
+if [[ $UID == 0 && $+commands[systemctl] != 0 ]]
+then
+  PROMPT=$'%{$fg[red]>>  $systemd_failed$reset_color%}\n'
+else
+  PROMPT=""
+fi
+
+PROMPT+=$'%{$fg[yellow]%}%n@%{$fg[magenta]%}%m%{$reset_color%} %~ \n%{$fg[cyan]%}%T%{$reset_color%} %0(?,%{$fg[green]%},%{$fg[red]%}%s)%?%{$reset_color%} %# '
+
 RPROMPT='${vcs_info_msg_0_}'
 
 export DEBEMAIL='christoph@debian.org'