From 01d19b1b5262a9d18e20a7a141942d2a2d8d9549 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 22 Jan 2018 13:09:53 +0100 Subject: [PATCH] Some custom completion stuff --- aliases/functions | 2 +- compdef/_re | 3 +++ completion.zsh | 25 +++++++++++++++++++++++++ zshrc | 24 +++--------------------- 4 files changed, 32 insertions(+), 22 deletions(-) create mode 100644 compdef/_re create mode 100644 completion.zsh diff --git a/aliases/functions b/aliases/functions index fc89f2f..5fe4eaa 100644 --- a/aliases/functions +++ b/aliases/functions @@ -44,7 +44,7 @@ alias E="exec zsh" # edit and refresh aliases aliases() { - sudo vim /etc/zsh/aliases/${1:-functions} + sudoedit /etc/zsh/aliases/${1:-functions} . /etc/zsh/aliases/* } diff --git a/compdef/_re b/compdef/_re new file mode 100644 index 0000000..3dda686 --- /dev/null +++ b/compdef/_re @@ -0,0 +1,3 @@ +#compdef re + +_arguments -A "*" '-d[directory]:dirname:_dirs' ":script:_files -W $XDG_CONFIG_HOME/re/" diff --git a/completion.zsh b/completion.zsh new file mode 100644 index 0000000..8502d64 --- /dev/null +++ b/completion.zsh @@ -0,0 +1,25 @@ +# autoload completions +fpath+=( "${ZDOTDIR:+ZDOTDIR}/compdef" ) +fpath+=( "/etc/zsh/compdef" ) +autoload -U /etc/zsh/compdef/*(:t) + +if [[ -d $ZDOTDIR/compdef ]]; then + autoload -U /etc/zsh/compdef/*(N:t) +fi + +autoload -Uz compinit && compinit + +zstyle ':completion:*' verbose yes +zstyle ':completion:*:descriptions' format ‘%B%d%b’ +zstyle ':completion:*:messages' format ‘%d’ +zstyle ':completion:*:warnings' format ‘No matches for: %d’ + + +# completion for programs with standard gnu --help +for prog in amm tapestry; do + compdef _gnu_generic $prog +done + +# custom compdefs + +compdef _xbps xi=xbps-install diff --git a/zshrc b/zshrc index 7769757..17fe7dd 100644 --- a/zshrc +++ b/zshrc @@ -1,4 +1,3 @@ - HISTFILE=~/.histfile HISTSIZE=100000 SAVEHIST=100000 @@ -15,15 +14,6 @@ setopt chase_links setopt short_loops setopt cdable_vars -# autoload completions -fpath+=( "${ZDOTDIR:+ZDOTDIR}/compdef" ) -fpath+=( "/etc/zsh/compdef" ) -autoload -U /etc/zsh/compdef/*(:t) - -if [[ -d $ZDOTDIR/compdef ]]; then - autoload -U /etc/zsh/compdef/*(N:t) -fi - # get a file from ZDOTDIR, return file in /etc/zsh if it does not exist zdotfile() { if [[ -e $ZDOTDIR/$1 ]]; then @@ -34,14 +24,9 @@ zdotfile() { } bindkey -v - -autoload -Uz compinit && compinit autoload -Uz zmv - function exists { command -v "$@" >/dev/null } - - ZMODLOAD_BLACKLIST=( ssh-agent ) stty -ixon @@ -56,12 +41,6 @@ echo $PATH | grep -q 'local' || . /etc/zsh/zprofile echo $PATH | grep -q 'sbin' || . /etc/zsh/zprofile -zstyle ':completion:*' verbose yes -zstyle ':completion:*:descriptions' format ‘%B%d%b’ -zstyle ':completion:*:messages' format ‘%d’ -zstyle ':completion:*:warnings' format ‘No matches for: %d’ - - typeset -A conf_locations conf_locations=( vim $XDG_CONFIG_HOME/vim @@ -76,4 +55,7 @@ conf_locations=( ssh $HOME/.ssh/config ) + +. $(zdotfile completion.zsh) + exists todo && todo