]> 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:

use - for stdin
[etc/zsh.git] / .zsh / zshrc / 20_compsys
index 4980eaa0813e3c89dfba786828a97446ae748472..cd620b08125e5504206303b38de334641fb9c39e 100644 (file)
@@ -1,11 +1,11 @@
-# zshrc/90_compctl
+# zshrc/20_compsys
 #
 # Configures the completions system
 #
 # Copyright © 1994–2008 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
+# Source repository: git://git.madduck.net/etc/zsh.git
 #
 
 # automatically list choices on an ambiguous completion
@@ -20,36 +20,43 @@ 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
 
 # be magic about adding/removing final characters on tab completion
 setopt auto_param_keys auto_param_slash auto_remove_slash
 
+# load fancy completion list and menu handler
+zmodload zsh/complist
+
 # initialise the completion system
 autoload -U compinit
-compinit -d $VAR/zsh/compdump
+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?'
-
-# populate hosts completion with SSH's known_hosts
-local _myhosts;
-_myhosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*})
-zstyle ':completion:*' hosts $_myhosts;
+  '*.bk' '*.bak' '*.old' '*~' '.*.sw?' '*.o' '*.pyc'
 
-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