diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2018-04-07 15:12:57 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2018-04-07 15:12:57 +0200 |
commit | 6e1ab9aa550695ee7e3d467b4173c0b83ba7f759 (patch) | |
tree | 8fb7faa4364a7cbf1cba48296a5f537e13f2a8d9 /Completion/Base/Utility/_arguments | |
parent | 5ad56a41f1ee2e61abca079f5ea8909f895ac2dd (diff) | |
parent | f027f1d6e876708bc75d4217e1ca26898658d8d3 (diff) | |
download | zsh-6e1ab9aa550695ee7e3d467b4173c0b83ba7f759.tar.gz zsh-6e1ab9aa550695ee7e3d467b4173c0b83ba7f759.zip |
Merge tag 'zsh-5.4.2-test-2' / 'upstream' branch into 'debian' branch
Test version 2 prior to zsh 5.5.
Diffstat (limited to 'Completion/Base/Utility/_arguments')
-rw-r--r-- | Completion/Base/Utility/_arguments | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Completion/Base/Utility/_arguments b/Completion/Base/Utility/_arguments index d2c0d33de..136dd5826 100644 --- a/Completion/Base/Utility/_arguments +++ b/Completion/Base/Utility/_arguments @@ -43,7 +43,7 @@ if (( long )); then name="${name//[^a-zA-Z0-9_]/_}" if (( ! ${(P)+name} )); then - local iopts sopts pattern tmpo dir cur cache + local iopts sopts lflag pattern tmpo dir cur cache typeset -Ua lopts cache=() @@ -55,7 +55,12 @@ if (( long )); then iopts=() sopts=() - while [[ "$1" = -[is]* ]]; do + while [[ "$1" = -[lis]* ]]; do + if [[ "$1" = -l ]]; then + lflag='-l' + shift + continue + fi if [[ "$1" = -??* ]]; then tmp="${1[3,-1]}" cur=1 @@ -88,7 +93,8 @@ if (( long )); then # option up to the end. tmp=() - _call_program options ${~words[1]} --help 2>&1 | while IFS= read -r opt; do + _call_program $lflag options ${~words[1]} --help 2>&1 | + while IFS= read -r opt; do if (( ${#tmp} )); then # Previous line had no comment. Is the current one suitable? # It's hard to be sure, but if it there was nothing on the |