X-Git-Url: https://git.siccegge.de//index.cgi?p=dotfiles%2Fzsh.git;a=blobdiff_plain;f=zshrc;h=fd2baf2825bdb7838379deb6cb5315c4affd1f8b;hp=abd47ce5a61cbf00d758a90a76009d23573bc82b;hb=b9730794329169f5c0856745bebeac57af6c9b5c;hpb=d486c08b2dd4badb323f28d2e5ca464d9da4080f diff --git a/zshrc b/zshrc index abd47ce..fd2baf2 100644 --- 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 'e' backward-word @@ -56,7 +67,7 @@ precmd () { vcs_info setWindowTitle ${USER}@${HOST} - if [[ $UID == 0 && -f `which systemctl` ]] + if [[ $UID == 0 && $+commands[systemctl] != 0 ]] then use_systemd=true systemd_failed="`systemctl --state=failed | grep failed | cut -d \ -f 2 | tr '\n' ' '`" @@ -84,7 +95,7 @@ case "${DOMAIN//cs.fau.de/informatik.uni-erlangen.de}" in ;; esac -if [[ $UID == 0 && -f `which systemctl` ]] +if [[ $UID == 0 && $+commands[systemctl] != 0 ]] then PROMPT=$'%{$fg[red]>> $systemd_failed$reset_color%}\n' else