63 lines
2.2 KiB
Bash
63 lines
2.2 KiB
Bash
# autoload completions
|
||
fpath=( "${ZDOTDIR:+$ZDOTDIR/compdef}" "/etc/zsh/compdef" $fpath )
|
||
|
||
[[ -n $(echo /etc/zsh/compdef/*(N:t)) ]] && autoload -U /etc/zsh/compdef/*(N:t)
|
||
[[ -n $(echo $ZDOTDIR/compdef/*(N:t)) ]] && autoload -U $ZDOTDIR/compdef/*(N:t)
|
||
|
||
ZSH_COMPDUMP_LOCATION=${XDG_CACHE_HOME:-$HOME/.cache}/zsh/zcompdump-$ZSH_VERSION
|
||
mkdir -p ${ZSH_COMPDUMP_LOCATION:h}
|
||
|
||
autoload -Uz compinit
|
||
if [[ ${UID} -eq 0 ]] && [[ -n ${SUDO_USER} ]]; then
|
||
compinit -u -d $ZSH_COMPDUMP_LOCATION
|
||
else
|
||
compinit -d $ZSH_COMPDUMP_LOCATION
|
||
fi
|
||
unset ZSH_COMPDUMP_LOCATION
|
||
|
||
autoload -U +X bashcompinit && bashcompinit
|
||
|
||
zstyle ':completion:*:descriptions' format ‘%B%d%b’
|
||
zstyle ':completion:*:messages' format ‘%d’
|
||
zstyle ':completion:*:warnings' format ‘No matches for: %d’
|
||
zstyle ':completion:*' use-cache on
|
||
zstyle ':completion:*' cache-path ~/.cache/zsh
|
||
zstyle ':completion:*' completer _complete _ignored _match _approximate _correct
|
||
zstyle ':completion:*:match:*' original only
|
||
zstyle ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
|
||
zstyle ':completion:*:functions' ignored-patterns '_*'
|
||
zstyle ':completion:*' squeeze-slashes true
|
||
zstyle ':completion:*' expand prefix suffix
|
||
zstyle ':completion:*' group-name ''
|
||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
|
||
zstyle ':completion:*' list-suffixes true
|
||
zstyle ':completion:*' preserve-prefix '//[^/]##/'
|
||
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
||
zstyle ':completion:*' special-dirs true
|
||
zstyle ':completion:*' verbose true
|
||
zstyle :compinstall filename '/etc/zsh/completion'
|
||
|
||
|
||
# completion for programs with standard gnu --help
|
||
for prog in amm tapestry virtualenv dragon; do
|
||
compdef _gnu_generic $prog
|
||
done
|
||
|
||
# custom compdefs
|
||
|
||
compdef _xbps xi=xbps-install
|
||
|
||
{
|
||
local _myhosts
|
||
_myhosts=( $(awk '/^Host/ {for (i=2; i<=NF; i++) print $i}' ~/.ssh/config) )
|
||
zstyle ':completion:*' hosts $_myhosts
|
||
}&>/dev/null
|
||
|
||
zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq'
|
||
|
||
compdef _command fork
|
||
compdef _command detach
|
||
compdef _command ontv
|
||
compdef _notmuch nmfind=notmuch-search
|