From 1d2349c0d9dcaaa8b464741ed5a608c6f1eb32d1 Mon Sep 17 00:00:00 2001 From: Marlon Richert Date: Fri, 4 Jun 2021 00:22:59 +0300 Subject: [PATCH] Let run-help filter $cmd_args before calling run-help- MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …to make it easier to write run-help- functions. --- Functions/Misc/run-help | 15 +++++++++------ Functions/Misc/run-help-btrfs | 4 ---- Functions/Misc/run-help-ip | 4 ---- Functions/Misc/run-help-p4 | 2 +- Functions/Misc/run-help-svk | 2 +- Functions/Misc/run-help-svn | 2 +- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/Functions/Misc/run-help b/Functions/Misc/run-help index e351dd6a6..919899a13 100644 --- a/Functions/Misc/run-help +++ b/Functions/Misc/run-help @@ -101,12 +101,15 @@ do builtin getln cmd_args builtin print -z "$cmd_args" cmd_args=( ${(z)cmd_args} ) - # Discard environment assignments, etc. - while [[ $cmd_args[1] != ${run_help_orig_cmd:-$1} ]] - do - shift cmd_args || return 1 - done - eval "run-help-$1:t ${(q@)cmd_args[2,-1]}" + + # Discard the command itself & everything before it. + shift $cmd_args[(i)${run_help_orig_cmd:-$1}] cmd_args || + return + + # Discard options, parameter assignments & paths. + cmd_args=( ${cmd_args[@]:#([-+]*|*=*|*/*|\~*)} ) + + eval "run-help-$1:t ${(@q)cmd_args}" else POSIXLY_CORRECT=1 man $@:t fi diff --git a/Functions/Misc/run-help-btrfs b/Functions/Misc/run-help-btrfs index 0dc1dabcb..cb139e9b7 100644 --- a/Functions/Misc/run-help-btrfs +++ b/Functions/Misc/run-help-btrfs @@ -1,7 +1,3 @@ -while [[ $# != 0 && $1 == -* ]]; do - shift -done - case $1 in (b*) man btrfs-balance ;; (c*) man btrfs-check ;; diff --git a/Functions/Misc/run-help-ip b/Functions/Misc/run-help-ip index 8807f9ef1..b811ce352 100644 --- a/Functions/Misc/run-help-ip +++ b/Functions/Misc/run-help-ip @@ -14,10 +14,6 @@ if ! man -w ip-address >/dev/null 2>&1; then return fi -while [[ $# != 0 && $1 == -* ]]; do - shift -done - case $1 in (addrl*) man ip-addrlabel ;; (a*) man ip-address ;; diff --git a/Functions/Misc/run-help-p4 b/Functions/Misc/run-help-p4 index 662ce94fe..e48a4d068 100644 --- a/Functions/Misc/run-help-p4 +++ b/Functions/Misc/run-help-p4 @@ -2,4 +2,4 @@ if (( ! $# )); then p4 help commands else p4 help $1 -fi | ${=PAGER:-less} +fi | ${=PAGER:-more} diff --git a/Functions/Misc/run-help-svk b/Functions/Misc/run-help-svk index 92438a53f..782538246 100644 --- a/Functions/Misc/run-help-svk +++ b/Functions/Misc/run-help-svk @@ -1 +1 @@ -svk help ${${@:#-*}[1]} | ${=PAGER:-more} +svk help $1 | ${=PAGER:-more} diff --git a/Functions/Misc/run-help-svn b/Functions/Misc/run-help-svn index 5d1068588..d55a493a6 100644 --- a/Functions/Misc/run-help-svn +++ b/Functions/Misc/run-help-svn @@ -1 +1 @@ -svn help ${${@:#-*}[1]} | ${=PAGER:-more} +svn help $1 | ${=PAGER:-more} -- 2.30.1 (Apple Git-130)