1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-17 15:01:40 +02:00

11236: Handle tabs between options and their descriptions when parsing --help.

This commit is contained in:
Bart Schaefer 2000-05-06 18:48:26 +00:00
parent bec1ee9e6a
commit c15091b7d1
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2000-05-06 Bart Schaefer <schaefer@zsh.org>
* 11236: Completion/Base/_arguments: Handle tabs between options
and their descriptions when parsing --help output.
2000-05-06 Tanaka Akira <akr@zsh.org>
* 11224: Util/mkdisttree.sh: problem with pattern matching `.' in

View file

@ -60,16 +60,16 @@ if (( long )); then
# The parameter expansion trickery first gets the lines as separate
# array elements. Then we select all lines whose first non-blank
# character is a hyphen. Since some commands document more than one
# option per line, separated by commas, we convert commas int
# option per line, separated by commas, we convert commas into
# newlines and then split the result again at newlines after joining
# the old array elements with newlines between them. Then we select
# those elements that start with two hyphens, remove anything up to
# those hyphens and anything from the space or comma after the
# option up to the end.
# those hyphens and anything from the space or tab after the
# option up to the end.
lopts=("--${(@)^${(@)${(@)${(@M)${(@ps:\n:j:\n:)${(@)${(@M)${(@f)$(_call options ${~words[1]} --help 2>&1)//\[--/
--}:#[ ]#-*}//,/
}}:#[ ]#--*}#*--}%%[], ]*}:#}")
}}:#[ ]#--*}#*--}%%[] ]*}:#}")
lopts=( "${(@)lopts:#--}" )
# Now remove all ignored options ...