]> git.donarmstrong.com Git - zsh.git/commitdiff
some work on compsys, far from having understood it
authormartin f. krafft <madduck@madduck.net>
Mon, 5 May 2008 11:13:35 +0000 (12:13 +0100)
committermartin f. krafft <madduck@madduck.net>
Mon, 5 May 2008 11:15:05 +0000 (12:15 +0100)
.zsh/zshrc/00_TODO
.zsh/zshrc/90_compctl [deleted file]
.zsh/zshrc/90_compsys [new file with mode: 0644]

index 577cd67212a2aacc52037cf8ed9a605a91915445..aa655488852835cb496ed92525e9ac74ebba8188 100644 (file)
@@ -14,9 +14,6 @@ ldir() { eval $1="$PWD" ; : ~$1 }
 alias Q='exec zsh'
 alias ozsh='ZDOTDIR=$HOME/.etc/zsh exec zsh'
 
-# correct all arguments
-setopt correctall
-
 # do not clobber files with >
 setopt noclobber
 
@@ -26,9 +23,6 @@ setopt autopushd pushdminus pushdsilent pushdtohome
 # brace expansion
 setopt braceccl
 
-# commands that take commands as arguments
-compctl -c man nohup strace gdb
-
 # automatically remove duplicates from these arrays
 typeset -gU path cdpath fpath manpath
 
diff --git a/.zsh/zshrc/90_compctl b/.zsh/zshrc/90_compctl
deleted file mode 100644 (file)
index cfdbed8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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
-#
-
-# make tab completion work the way i like it
-setopt autolist automenu recexact alwaystoend
-
-# vim:ft=zsh
diff --git a/.zsh/zshrc/90_compsys b/.zsh/zshrc/90_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