diff options
author | Daniel Friesel <derf@derf.homelinux.org> | 2009-06-09 22:48:05 +0200 |
---|---|---|
committer | Daniel Friesel <derf@derf.homelinux.org> | 2009-06-09 22:48:05 +0200 |
commit | b16daf7009d9b49d3a1cc83b024a1b10409fc848 (patch) | |
tree | cdb4272c7291bf696ffec0edc808d6b5550d30cb /etc | |
parent | be702a7fb4d605579bb634ec8f5a36d14b5f9c73 (diff) |
help: Added -t option to only search a specific topic
Diffstat (limited to 'etc')
-rwxr-xr-x | etc/functions/help | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/etc/functions/help b/etc/functions/help index a3712f0..aa0c269 100755 --- a/etc/functions/help +++ b/etc/functions/help @@ -2,14 +2,15 @@ ## wrapper around man, finfo, etc ## Usage: help <topic> typeset -a methods -typeset method +typeset method topic typeset -i found check_only all -methods=(man function builtin apt) +methods=(man zshfunction zshbuiltin apt) while [[ $1 == -* ]] { case $1 in - -c|--check-only) check_only=1 ;; -a|--all) all=1 ;; + -c|--check-only) check_only=1 ;; + -t|--topic) topic=$2; shift ;; -|--) shift; break ;; *) echo "unknown option: $1" ;; esac @@ -17,15 +18,15 @@ while [[ $1 == -* ]] { } function help_check_man { man -w $1 &> /dev/null } -function help_check_function { whichf $1 &> /dev/null } -function help_check_builtin { (( ${+builtins[$1]} )) } +function help_check_zshfunction { whichf $1 &> /dev/null } +function help_check_zshbuiltin { (( ${+builtins[$1]} )) } function help_check_apt { [[ $commands[$1] != ${HOME}* ]] && check_com -c $1 && check_com -c apt-file } function help_show_man { man $1 } -function help_show_function { finfo $1 } -function help_show_builtin { man zshbuiltins | less -p " $1" } +function help_show_zshfunction { finfo $1 } +function help_show_zshbuiltin { man zshbuiltins | less -p " $1" } function help_show_apt { apt-cache show ${(s/:/)$(apt-file search -F $commands[$1])[1]} } @@ -36,6 +37,9 @@ if [[ -z $1 ]] { } for method in $methods; { + if [[ -n $topic && $method != $topic ]] { + continue + } if help_check_$method $1; then ((found++)) if ((check_only)) { |