]> git.madduck.net Git - etc/zsh.git/commitdiff

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:

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