diff options
author | Ville Skyttä <ville.skytta@iki.fi> | 2009-12-11 00:14:54 +0200 |
---|---|---|
committer | Ville Skyttä <ville.skytta@iki.fi> | 2009-12-11 00:14:54 +0200 |
commit | 8f68300a0d97e9e9b3d2cd8740519d2e29233754 (patch) | |
tree | 3ae6c97d3dc628de28799a818c9fe91dfd189b46 /bash_completion | |
parent | b8ffa2dc48f55a411a5fcd5d92c85ca73da976de (diff) | |
download | bash-completion-8f68300a0d97e9e9b3d2cd8740519d2e29233754.tar.gz |
Add wordbreak filtering to _count_args.
Diffstat (limited to 'bash_completion')
-rw-r--r-- | bash_completion | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/bash_completion b/bash_completion index 7e3403c3..55c8919f 100644 --- a/bash_completion +++ b/bash_completion @@ -728,15 +728,16 @@ _realcommand() { # This function counts the number of args -# +# @param $1 chars Characters out of $COMP_WORDBREAKS which should +# NOT be considered word breaks. See __reassemble_comp_words_by_ref. _count_args() { - local i + local i cword words + __reassemble_comp_words_by_ref "$1" words cword + args=1 - for (( i=1; i < COMP_CWORD; i++ )); do - if [[ "${COMP_WORDS[i]}" != -* ]]; then - args=$(($args+1)) - fi + for i in "${words[@]:1:cword-1}"; do + [[ "$i" != -* ]] && args=$(($args+1)) done } |