#compdef -k complete-word \C-xh _complete_help() { local _sort_tags=_help_sort_tags text i typeset -A help_tags typeset -U help_contexts help_contexts=() compadd() { return 1 } _main_complete unfunction compadd for i in "$help_contexts[@]"; do text="${text} tags in context \`${i}': ${help_tags[$i]}" done compstate[list]=list compstate[force_list]=yes compstate[insert]='' compadd -UX "$text[2,-1]" -n '' } _help_sort_tags() { help_contexts=( "$help_contexts[@]" "$curcontext" ) help_tags[$curcontext]="${help_tags[$curcontext]} ${argv}" comptry "$@" } _complete_help "$@"