about summary refs log tree commit diff
path: root/Completion/Unix/Command/_man
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_man')
-rw-r--r--Completion/Unix/Command/_man10
1 files changed, 10 insertions, 0 deletions
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