]> git.madduck.net Git - etc/zsh.git/blobdiff - .zsh/zshrc/20_compsys

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

update URL and copyright
[etc/zsh.git] / .zsh / zshrc / 20_compsys
index a8e6292d8232b4318021d3541ce2c47eef8ffc60..7229d9a55d3647a8763e1b7bff369bf9401e0660 100644 (file)
@@ -1,13 +1,15 @@
-# zshrc/90_compctl
+# zshrc/20_compsys
 #
 # Configures the completions system
 #
-# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
+# Copyright © 1994–2017 martin f. krafft <madduck@madduck.net>
 # Released under the terms of the Artistic Licence 2.0
 #
 # Source repository: http://git.madduck.net/v/etc/zsh.git
 #
 
+zstyle :compinstall filename '$ZDOTDIR/zshrc/20_compsys'
+
 # automatically list choices on an ambiguous completion
 setopt auto_list
 
@@ -20,6 +22,9 @@ setopt rec_exact
 # move cursor to end of word being completed
 setopt always_to_end
 
+# correct the command if mistyped
+setopt correct
+
 # correct all arguments, not just the command
 #setopt correctall
 
@@ -31,28 +36,29 @@ zmodload zsh/complist
 
 # initialise the completion system
 autoload -U compinit
-compinit -d $VAR/zsh/comp-$HOST
+compinit -d $ZVARDIR/comp-$HOST
 
 # cache results
 zstyle ':completion:*' use-cache on
-zstyle ':completion:*' cache-path $ZVAR/compcache
+zstyle ':completion:*' cache-path $ZVARDIR/compcache
 
 #zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
-zstyle ':completion:*' completer _complete _ignored _match _approximate
+zstyle ':completion:*' completer _complete _ignored _match _correct _approximate
+
+# allow cursor-key navigation through completion set
+zstyle ':completion:*:*:*:*' menu select
 
 # use colours in completion lists and menus
 zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
 
-# ignore working and backup copies
+# ignore working and backup copies, and compiled objects
 zstyle ':completion:*:(all-|)files' ignored-patterns \
-  '*.bk' '*.bak' '*.old' '*~' '.*.sw?'
+  '*.bk' '*.bak' '*.old' '*~' '.*.sw?' '*.o' '*.pyc'
 
-# populate hosts completion with SSH's known_hosts
-local _myhosts;
-_myhosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*})
-zstyle ':completion:*' hosts $_myhosts;
-
-zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3)) numeric )'
+zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3)) not-numeric )'
+zstyle -e ':completion:*:correct:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/2)) numeric )'
+#zstyle ':completion:*:correct:::' max-errors 1 not-numeric
+#zstyle ':completion:*:approximate:::' max-errors 2 numeric
 
 #zstyle ':completion:*' list-suffixes true
 #zstyle ':completion:*' match-original both
@@ -81,9 +87,6 @@ zstyle -e ':completion:*:*:vim#:*:*' ignored-patterns \
 
 # http://madism.org/~madcoder/dotfiles/zsh/40_completion
 zstyle ':completion:*:processes' command 'ps -au$USER -o pid,time,cmd|grep -v "ps -au$USER -o pid,time,cmd"'
-zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)[ 0-9:]#([^ ]#)*=01;30=01;31=01;38'
-
-zstyle :compinstall filename '$ETC/zsh/compsys'
 
 # commands that take commands as arguments
 compdef _precommand gdb
@@ -96,4 +99,8 @@ zstyle ':completion:*:messages' format '%d'
 zstyle ':completion:*:warnings' format 'no matches for: %d'
 zstyle ':completion:*' group-name ''
 
+# #527301
+zstyle :completion::complete:xmms2:\*:values list-grouped false
+zstyle :completion::complete:xmms2:\*:values sort false
+
 # vim:ft=zsh