zsh-workers
 help / color / mirror / code / Atom feed
40afb7e9d5137e0aa00a8347bdb16d28d4d697fc blob 1097 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
#compdef add-zle-hook-widget

local context state state_descr line
typeset -A opt_args

_add-zle-hook-widget_classes() {
  local -a hooktypes=( zle-isearch-exit zle-isearch-update
                     zle-line-pre-redraw zle-line-init zle-line-finish
                     zle-history-line-set zle-keymap-select )
                     # $hooktypes is duplicated in add-zle-hook-function itself, if you add entries update both places
  compadd "$@" -a hooktypes
}

_add-zle-hook-widget_widgets() {
  if (( $+opt_args[-d] )); then
    local -a tmp
    zstyle -g tmp $line[1] widgets
    _wanted widgets expl "installed hooks" compadd -- ${tmp#<->:} && return 0
  else
    _wanted widgets expl widget compadd -M 'r:|-=* r:|=*' -k widgets && ret=0 && return 0
  fi
  return 1
}

_add-zle-hook-widget() {
  _arguments -s -w -S : \
    '(-D)-d[remove HOOK from the array]' \
    '(-d)-D[interpret HOOK as pattern to remove from the array]' \
    {-U,-z,-k}"[passed to 'autoload']" \
    ':hook class:_add-zle-hook-widget_classes' \
    ':widget:_add-zle-hook-widget_widgets'
}

_add-zle-hook-widget "$@"
debug log:

solving 40afb7e ...
found 40afb7e in https://inbox.vuxu.org/zsh-workers/1468767614-9635-1-git-send-email-danielsh@tarsus.local2/

applying [1/1] https://inbox.vuxu.org/zsh-workers/1468767614-9635-1-git-send-email-danielsh@tarsus.local2/
diff --git a/Completion/Zsh/Function/_add-zle-hook-widget b/Completion/Zsh/Function/_add-zle-hook-widget
new file mode 100644
index 0000000..40afb7e

Checking patch Completion/Zsh/Function/_add-zle-hook-widget...
Applied patch Completion/Zsh/Function/_add-zle-hook-widget cleanly.

index at:
100644 40afb7e9d5137e0aa00a8347bdb16d28d4d697fc	Completion/Zsh/Function/_add-zle-hook-widget

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).