From ac45d4589e21616aeeb399b9c76ac11d58aeff4d Mon Sep 17 00:00:00 2001 From: Simon Gomizelj Date: Mon, 12 Dec 2011 02:27:57 -0500 Subject: [PATCH] Tweak some correction settings. No more case sensitivity option. Use menus for completions. Simpler kill completion (to be improved). cd's completion will ignore parent and pwd. Cleanup of hosts. Changed cache path to ~/.omz/cache/. Added fuzzy matching and zsh should ignore functions that start with _ (ignore auto-completion helpers). --- lib/completion.zsh | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index e0a94a664..830061e3b 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -10,13 +10,8 @@ WORDCHARS='' zmodload -i zsh/complist -## 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 +zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +zstyle ':completion:*' squeeze-slashes true if [[ -n $LS_COLORS ]]; then zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} @@ -27,28 +22,38 @@ fi # should this be in keybindings? bindkey -M menuselect '^o' accept-and-infer-next-history -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" +zstyle ':completion:*:*:*:*:*' menu yes select +zstyle ':completion:*:kill:*' force-list always +# 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" # disable named-directories autocompletion zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories +zstyle ':completion:*:cd:*' ignore-parents parent pwd cdpath=(.) # use /etc/hosts and known_hosts for hostname completion [ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=() [ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(