zsh-workers
 help / color / mirror / code / Atom feed
19f51a7f8a73be5b5396c47971457afcec575cf9 blob 3697 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
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
#!/bin/zsh
#
# Figure out where to get the best help, and get it.
#
# Install this function by placing it in your FPATH and then
# adding to your .zshrc the lines:
#	unalias run-help
#	autoload -Uz run-help
#

emulate -RL zsh

local HELPDIR="${HELPDIR:-@runhelpdir@}"

[[ $1 == "." ]] && 1="dot"
[[ $1 == ":" ]] && 1="colon"

# Check whether Util/helpfiles has been used to generate zsh help
if [[ $# == 0 || $1 == "-l" ]]
then
    if [[ -d $HELPDIR ]]
    then
	echo "Here is a list of topics for which special help is available:"
	echo ""
	print -rc $HELPDIR/*(:t)
    else
	echo "There is no list of special help topics available at this time."
    fi
    return 0
elif [[ -n "${HELPDIR:-}" && -r $HELPDIR/$1 && $1 != compctl ]]
then
    ${=PAGER:-more} $HELPDIR/$1
    return $?
fi

# No zsh help; use "whence" to figure out where else we might look
local what places noalias newline='
'
integer i=0 didman=0

places=( "${(@f)$(builtin whence -va $1)}" )
if [[ $places = *"not found"* && $1 != ${(Q)1} ]]; then
  # Different when unquoted, so try stripping quotes.
  places=( "${(@f)$(builtin whence -va ${(Q)1})}" )
  if (( ${#places} )); then
      set -- "${(Q)@}"
  fi
  # Quotation is significant to aliases, so suppress lookup.
  noalias=1
fi

{
while ((i++ < $#places))
do
    what=$places[$i]
    [[ -n $noalias && $what = *" is an alias "* ]] && continue
    builtin print -r $what
    case $what in
    (*( is an alias for (noglob|nocorrect))*)
	[[ ${what[(w)7]:t} != ${what[(w)1]} ]] &&
	  run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)7]:t}
	;;
    (*( is an alias)*)
	[[ ${what[(w)6]:t} != ${what[(w)1]} ]] &&
	  run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)6]:t}
	;;
    (*( is a * function))
	case ${what[(w)1]} in
	(comp*) man zshcompsys;;
	(zf*) man zshftpsys;;
	(run-help) man zshcontrib;;
	(*) builtin functions ${what[(w)1]} | ${=PAGER:-more};;
	esac;;
    (*( is a * builtin))
	case ${what[(w)1]} in
	(compctl) man zshcompctl;;
	(comp*) man zshcompwid;;
	(bindkey|vared|zle) man zshzle;;
	(*setopt) man zshoptions;;
	(cap|getcap|setcap) ;&
	(clone) ;&
	(ln|mkdir|mv|rm|rmdir|sync) ;&
	(sched) ;&
	(echotc|echoti|sched|stat|zprof|zpty|zsocket|zstyle|ztcp) man zshmodules;;
	(zftp) man zshftpsys;;
	(*) man zshbuiltins;;
	esac
	;;
    (*( is hashed to *))
	man ${what[(w)-1]:t}
	;;
    (*( is a reserved word))
	man zshmisc
	;;
    (*)
	if ((! didman++))
	then
	    if whence "run-help-$1:t" >/dev/null
	    then
		local cmd_args
		builtin getln cmd_args
		builtin print -z "$cmd_args"
		cmd_args=( ${(z)cmd_args} )
                
                # Discard environment assignments, etc.
                while [[ $cmd_args[1] != ${run_help_orig_cmd:-$1} ]]; do
                  shift cmd_args || 
                      return 1
                done
                
                # Discard the command itself.
                shift cmd_args

                # Discard the first -, -- or ; and everything after it.
                shift -p (( $#cmd_args + 1 - cmd_args[(i)(-|--|;)] )) cmd_args

                # Discard options, parameter assignments & paths.
                while [[ $#cmd_args[@] -gt 0 && 
                    ( $cmd_args[1] == ([-+]|*=*|*/*|~*) || 
                        -e ${(e)~cmd_args[1]} ) ]]; do
                  shift cmd_args
                done
                
                eval "run-help-$1:t ${(@q)cmd_args}"
	    else
		POSIXLY_CORRECT=1 man $@:t
	    fi
	fi
	;;
    esac
    if ((i < $#places && ! didman))
    then
	builtin print -nP "%SPress any key for more help or q to quit%s"
	builtin read -k what
	[[ $what != $newline ]] && echo
	[[ $what == [qQ] ]] && break
    fi
done
} always {
  unset run_help_orig_cmd
}
debug log:

solving 19f51a7f8 ...
found 19f51a7f8 in https://inbox.vuxu.org/zsh-workers/CAHLkEDvhcTi-q-yKiwYAhyuSWTjB-mof0RCKqWyhmFrFQjPOsA@mail.gmail.com/
found e351dd6a6 in https://git.vuxu.org/mirror/zsh/
preparing index
index prepared:
100644 e351dd6a644162cdd5c2028f5b49e8d90658d005	Functions/Misc/run-help

applying [1/1] https://inbox.vuxu.org/zsh-workers/CAHLkEDvhcTi-q-yKiwYAhyuSWTjB-mof0RCKqWyhmFrFQjPOsA@mail.gmail.com/
diff --git a/Functions/Misc/run-help b/Functions/Misc/run-help
index e351dd6a6..19f51a7f8 100644

1:15: trailing whitespace.
                
1:18: trailing whitespace.
                  shift cmd_args || 
1:21: trailing whitespace.
                
1:29: trailing whitespace.
                while [[ $#cmd_args[@] -gt 0 && 
1:30: trailing whitespace.
                    ( $cmd_args[1] == ([-+]|*=*|*/*|~*) || 
Checking patch Functions/Misc/run-help...
Applied patch Functions/Misc/run-help cleanly.
warning: squelched 1 whitespace error
warning: 6 lines add whitespace errors.

index at:
100644 19f51a7f8a73be5b5396c47971457afcec575cf9	Functions/Misc/run-help

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).