]> git.madduck.net Git - etc/zsh.git/blob - .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:

8c389c78e0f95c07822abe5ea9d498eb23b4dd5d
[etc/zsh.git] / .zsh / zshrc / 20_compsys
1 # zshrc/20_compsys
2 #
3 # Configures the completions system
4 #
5 # Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
6 # Released under the terms of the Artistic Licence 2.0
7 #
8 # Source repository: http://git.madduck.net/v/etc/zsh.git
9 #
10
11 # automatically list choices on an ambiguous completion
12 setopt auto_list
13
14 # use menu after the second completion request
15 setopt auto_menu
16
17 # recognise exact matches even if they're ambiguous
18 setopt rec_exact
19
20 # move cursor to end of word being completed
21 setopt always_to_end
22
23 # correct all arguments, not just the command
24 #setopt correctall
25
26 # be magic about adding/removing final characters on tab completion
27 setopt auto_param_keys auto_param_slash auto_remove_slash
28
29 # load fancy completion list and menu handler
30 zmodload zsh/complist
31
32 # initialise the completion system
33 autoload -U compinit
34 compinit -d $ZVARDIR/comp-$HOST
35
36 # cache results
37 zstyle ':completion:*' use-cache on
38 zstyle ':completion:*' cache-path $ZVARDIR/compcache
39
40 #zstyle ':completion:*' completer _list _expand _complete _ignored _match _correct _approximate _prefix
41 zstyle ':completion:*' completer _complete _ignored _match _approximate
42
43 # allow cursor-key navigation through completion set
44 zstyle ':completion:*:*:*:*' menu select
45
46 # use colours in completion lists and menus
47 zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
48
49 # ignore working and backup copies, and compiled objects
50 zstyle ':completion:*:(all-|)files' ignored-patterns \
51   '*.bk' '*.bak' '*.old' '*~' '.*.sw?' '*.o' '*.pyc'
52
53 zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3)) numeric )'
54
55 #zstyle ':completion:*' list-suffixes true
56 #zstyle ':completion:*' match-original both
57 #zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
58 #zstyle ':completion:*:match:*' original only
59 #zstyle ':completion:*' original true
60 #zstyle ':completion:*' squeeze-slashes true
61
62 # functions which start with _ are internal and ignored
63 zstyle ':completion:*:functions' ignored-patterns '_*'
64
65 # do not offer files already specified on the line
66 zstyle ':completion:*:rm:*' ignore-line yes
67
68 #zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
69 #zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
70
71 # ignore current directory when completing in ../
72 #zstyle ':completion:*:cd:*' ignore-parents parent pwd
73 zstyle ':completion:*' ignore-parents parent pwd
74
75 # http://xana.scru.org/2005/08/20#ignorelatexjunk
76 zstyle -e ':completion:*:*:vim#:*:*' ignored-patterns \
77   'texfiles=$(echo ${PREFIX}*.tex); [[ -n "$texfiles" ]] &&
78   reply=(*.(aux|dvi|log|ps|pdf|bbl|toc|lot|lof|latexmain)) || reply=()'
79
80 # http://madism.org/~madcoder/dotfiles/zsh/40_completion
81 zstyle ':completion:*:processes' command 'ps -au$USER -o pid,time,cmd|grep -v "ps -au$USER -o pid,time,cmd"'
82 zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)[ 0-9:]#([^ ]#)*=01;30=01;31=01;38'
83
84 zstyle :compinstall filename '$ETC/zsh/compsys'
85
86 # commands that take commands as arguments
87 compdef _precommand gdb
88 compdef _precommand nohup
89 compdef _precommand strace
90
91 zstyle ':completion:*' verbose yes
92 zstyle ':completion:*:descriptions' format '%B%d%b'
93 zstyle ':completion:*:messages' format '%d'
94 zstyle ':completion:*:warnings' format 'no matches for: %d'
95 zstyle ':completion:*' group-name ''
96
97 # vim:ft=zsh