summaryrefslogtreecommitdiff
path: root/Functions
diff options
context:
space:
mode:
Diffstat (limited to 'Functions')
-rw-r--r--Functions/Misc/.distfiles25
-rw-r--r--Functions/Misc/run-help19
-rw-r--r--Functions/Misc/run-help-git10
-rw-r--r--Functions/Misc/run-help-svk1
-rw-r--r--Functions/Misc/run-help-svn1
5 files changed, 52 insertions, 4 deletions
diff --git a/Functions/Misc/.distfiles b/Functions/Misc/.distfiles
index edfe128ac..2d515035f 100644
--- a/Functions/Misc/.distfiles
+++ b/Functions/Misc/.distfiles
@@ -1,8 +1,27 @@
DISTFILES_SRC='
.distfiles
add-zsh-hook
-allopt getjobs mere relative zcalc zmv zargs
-checkmail harden nslookup run-help zed zrecompile
-colors is-at-least promptnl tetris zkbd zstyle+
+allopt
+checkmail
+colors
+getjobs
+harden
+is-at-least
+mere
+nslookup
+promptnl
+relative
+run-help
+run-help-git
+run-help-svk
+run-help-svn
+tetris
+zargs
+zcalc
+zed
+zkbd
zmathfuncdef
+zmv
+zrecompile
+zstyle+
'
diff --git a/Functions/Misc/run-help b/Functions/Misc/run-help
index ec0334118..cfa67f652 100644
--- a/Functions/Misc/run-help
+++ b/Functions/Misc/run-help
@@ -85,7 +85,24 @@ do
man zshmisc
;;
(*)
- ((! didman++)) && man $@
+ 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] != $1 ]]
+ do
+ shift cmd_args
+ done
+ eval "run-help-$1:t ${(@)cmd_args[2,-1]}"
+ else
+ man $@:t
+ fi
+ fi
;;
esac
if ((i < $#places && ! didman))
diff --git a/Functions/Misc/run-help-git b/Functions/Misc/run-help-git
new file mode 100644
index 000000000..51c6e250c
--- /dev/null
+++ b/Functions/Misc/run-help-git
@@ -0,0 +1,10 @@
+#!/bin/zsh
+if [ $# -eq 0 ]; then
+ man git
+else
+ local al
+ if al=$(git config --get "alias.$1"); then
+ 1=${al%% *}
+ fi
+ man git-$1
+fi
diff --git a/Functions/Misc/run-help-svk b/Functions/Misc/run-help-svk
new file mode 100644
index 000000000..92438a53f
--- /dev/null
+++ b/Functions/Misc/run-help-svk
@@ -0,0 +1 @@
+svk help ${${@:#-*}[1]} | ${=PAGER:-more}
diff --git a/Functions/Misc/run-help-svn b/Functions/Misc/run-help-svn
new file mode 100644
index 000000000..5d1068588
--- /dev/null
+++ b/Functions/Misc/run-help-svn
@@ -0,0 +1 @@
+svn help ${${@:#-*}[1]} | ${=PAGER:-more}