diff --git a/.config/zsh/lib/20-completion.zsh b/.config/zsh/lib/20-completion.zsh index 5ba2d8f..42ba6ab 100644 --- a/.config/zsh/lib/20-completion.zsh +++ b/.config/zsh/lib/20-completion.zsh @@ -1,71 +1,29 @@ -# fixme - the load process here seems a bit bizarre -unsetopt menu_complete # do not autoselect the first completion entry -unsetopt flowcontrol -setopt auto_menu # show completion menu on succesive tab press -setopt complete_in_word -setopt always_to_end +declare -U fpath -WORDCHARS='' - -zmodload -i zsh/complist fpath=($fpath $ZDOTDIR/completions/) -fpath=($fpath /usr/local/share/zsh/site-functions/) +fpath=($fpath /usr/local/share/zsh/site-functions) +fpath=($fpath $(brew --prefix)/share/zsh/site-functions) -## case-insensitive (all),partial-word and then substring completion -if [ "x$CASE_SENSITIVE" = "xtrue" ]; then - zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' - unset CASE_SENSITIVE -else - zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' -fi +# case insensitive path-completion -# uncomment if completion should be colorful -zstyle ':completion:*' list-colors '' +zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' -# should this be in keybindings? -bindkey -M menuselect '^o' accept-and-infer-next-history +# show descriptions when autocompleting +zstyle ':completion:*' auto-description 'specify: %d' +zstyle ':completion:*' format 'Completing %d' -zstyle ':completion:*:*:*:*:*' menu select -zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' -zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" +# partial completion suggestions +zstyle ':completion:*' list-suffixes true +zstyle ':completion:*' expand prefix suffix + +# list with colors +zstyle ':completion:*' list-colors ''x # disable named-directories autocompletion zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories cdpath=(.) -# use /etc/hosts and known_hosts for hostname completion -[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(