From f2081c6bc3d03b8053a559222cb057755d67d7cc Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 21 Oct 2010 19:15:29 +0000 Subject: Silas Silva: completion support for man -M --- ChangeLog | 7 ++++++- Completion/Unix/Command/_man | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ef04a1ad1..15fb38747 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-10-21 Peter Stephenson + + * Silas Silva: users/15464: Completion/Unix/Command/_man: + support for -M argument. + 2010-10-18 Peter Stephenson * 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 -- cgit 1.4.1