Mercurial > dotfiles
diff .zsh/50.completions.zsh @ 0:c30d68fbd368
Initial import from svn.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Wed, 26 Nov 2008 10:56:09 -0600 |
parents | |
children |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/.zsh/50.completions.zsh @@ -0,0 +1,82 @@ +## Completions +autoload -Uz compinit +compinit -C +## completions #### +autoload -U zstyle+ +## General completion technique +## complete as much you can .. +zstyle ':completion:*' completer _complete _list _oldlist _expand _ignored _match _correct _approximate _prefix +## complete less +#zstyle ':completion:*' completer _expand _complete _list _ignored _approximate +## complete minimal +#zstyle ':completion:*' completer _complete _ignored + +local _myhosts +_myhosts=( ${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*} ) +zstyle ':completion:*' hosts $_myhosts + +## allow one error +#zstyle ':completion:*:approximate:*' max-errors 1 numeric +## allow one error for every three characters typed in approximate completer +zstyle -e ':completion:*:approximate:*' max-errors \ +'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )' + +## formatting and messages +zstyle ':completion:*' verbose yes +#describe options presented at completion +#zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}%d%{\e[0m%}' +zstyle ':completion:*:messages' format $'%{\e[0;31m%}%d%{\e[0m%}' +zstyle ':completion:*:warnings' format $'%{\e[0;31m%}No matches for: %d%{\e[0m%}' +zstyle ':completion:*:corrections' format $'%{\e[0;31m%}%d (errors: %e)%{\e[0m%}' +zstyle ':completion:*' group-name '' + +## determine in which order the names (files) should be +## listed and completed when using menu completion. +## `size' to sort them by the size of the file +## `links' to sort them by the number of links to the file +## `modification' or `time' or `date' to sort them by the last modification time +## `access' to sort them by the last access time +## `inode' or `change' to sort them by the last inode change time +## `reverse' to sort in decreasing order +## If the style is set to any other value, or is unset, files will be +## sorted alphabetically by name. +zstyle ':completion:*' file-sort name + +## how many completions switch on menu selection +## use 'long' to start menu compl. if list is bigger than screen +## or some number to start menu compl. if list has that number +## of completions (or more). +zstyle ':completion:*' menu select=long + +## case-insensitive (uppercase from lowercase) completion +#zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' +## case-insensitive (all) completion +#zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' +## case-insensitive,partial-word and then substring completion +zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + +## offer indexes before parameters in subscripts +zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters + +## insert all expansions for expand completer +zstyle ':completion:*:expand:*' tag-order all-expansions + +## ignore completion functions (until the _ignored completer) +zstyle ':completion:*:functions' ignored-patterns '_*' + +## completion caching +zstyle ':completion::complete:*' use-cache 1 +zstyle ':completion::complete:*' cache-path ~/.zcompcache/$HOST + +## add colors to completions +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} + +## don't complete backup files as executables +zstyle ':completion:*:complete:-command-::commands' ignored-patterns '*\~' + +## filename suffixes to ignore during completion (except after rm command) +zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.(o|c~|old|pro|zwc)' + +## add colors to processes for kill completion +zstyle ':completion:*:*:kill:*:processes' command 'ps -axco pid,user,command' +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'