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

init completion earlier
[etc/zsh.git] / .zsh / zshrc / 20_compsys
diff --git a/.zsh/zshrc/20_compsys b/.zsh/zshrc/20_compsys
new file mode 100644 (file)
index 0000000..4980eaa
--- /dev/null
@@ -0,0 +1,96 @@
+# zshrc/90_compctl
+#
+# 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
+#
+
+# automatically list choices on an ambiguous completion
+setopt auto_list
+
+# use menu after the second completion request
+setopt auto_menu
+
+# recognise exact matches even if they're ambiguous
+setopt rec_exact
+
+# move cursor to end of word being completed
+setopt always_to_end
+
+# 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
+
+# initialise the completion system
+autoload -U compinit
+compinit -d $VAR/zsh/compdump
+
+# cache results
+zstyle ':completion:*' use-cache on
+zstyle ':completion:*' cache-path $ZVAR/compcache
+
+#zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
+zstyle ':completion:*' completer _complete _ignored _match _approximate
+
+# use colours in completion lists and menus
+zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
+
+# ignore working and backup copies
+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;
+
+zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3)) numeric )'
+
+#zstyle ':completion:*' list-suffixes true
+#zstyle ':completion:*' match-original both
+#zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
+#zstyle ':completion:*:match:*' original only
+#zstyle ':completion:*' original true
+#zstyle ':completion:*' squeeze-slashes true
+
+# functions which start with _ are internal and ignored
+zstyle ':completion:*:functions' ignored-patterns '_*'
+
+# do not offer files already specified on the line
+zstyle ':completion:*:rm:*' ignore-line yes
+
+#zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
+#zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
+
+# ignore current directory when completing in ../
+#zstyle ':completion:*:cd:*' ignore-parents parent pwd
+zstyle ':completion:*' ignore-parents parent pwd
+
+# http://xana.scru.org/2005/08/20#ignorelatexjunk
+zstyle -e ':completion:*:*:vim#:*:*' ignored-patterns \
+  'texfiles=$(echo ${PREFIX}*.tex); [[ -n "$texfiles" ]] &&
+  reply=(*.(aux|dvi|log|ps|pdf|bbl|toc|lot|lof|latexmain)) || reply=()'
+
+# 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
+compdef _precommand nohup
+compdef _precommand strace
+
+zstyle ':completion:*' verbose yes
+zstyle ':completion:*:descriptions' format '%B%d%b'
+zstyle ':completion:*:messages' format '%d'
+zstyle ':completion:*:warnings' format 'no matches for: %d'
+zstyle ':completion:*' group-name ''
+
+# vim:ft=zsh