summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-10-21 19:15:29 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-10-21 19:15:29 +0000
commitf2081c6bc3d03b8053a559222cb057755d67d7cc (patch)
tree6acc99922fadba56cdb5dbe625011568dfef6f6f
parent76351e9b69812c6757c9b5e1e36f99dba417b98d (diff)
downloadzsh-f2081c6bc3d03b8053a559222cb057755d67d7cc.tar.gz
zsh-f2081c6bc3d03b8053a559222cb057755d67d7cc.zip
Silas Silva: completion support for man -M
-rw-r--r--ChangeLog7
-rw-r--r--Completion/Unix/Command/_man10
2 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ef04a1ad1..15fb38747 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-21 Peter Stephenson <p.w.stephenson@ntlworld.com>
+
+ * Silas Silva: users/15464: Completion/Unix/Command/_man:
+ support for -M argument.
+
2010-10-18 Peter Stephenson <pws@csr.com>
* Jérôme Pouiller: 28351: Functions/Misc/run-help-openssl,
@@ -13768,5 +13773,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5109 $
+* $Revision: 1.5110 $
*****************************************************
diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man
index 0820870f2..89c481239 100644
--- a/Completion/Unix/Command/_man
+++ b/Completion/Unix/Command/_man
@@ -3,6 +3,10 @@
_man() {
local dirs expl mrd awk
+ if (( $words[(I)-M] == (( $CURRENT - 1 )) )); then
+ _directories && return 0
+ fi
+
if [[ $service == man ]] && (( $words[(I)-l] + $words[(I)--local-file] )); then
_files || return 0
fi
@@ -21,6 +25,12 @@ _man() {
(( $#_manpath )) ||
_manpath=( /usr/man(-/) /(opt|usr)/(pkg|dt|share|X11R6|local)/(cat|)man(-/) )
+ if (( $words[(I)-M] )); then
+ local opt
+ opt=$words[(( $words[(I)-M]+1 ))]
+ _manpath=($_manpath $opt)
+ fi
+
# `sman' is the SGML manual directory for Solaris 7.
# 1M is system administrator commands on SVR4