Skip to content

Commit a17197f

Browse files
authored
Merge pull request #971 from akinomyoga/_parse_help-3
refactor: remaining `_comp_compgen_{help,usage}` changes
2 parents 3b50c6d + 309dec7 commit a17197f

File tree

9 files changed

+23
-16
lines changed

9 files changed

+23
-16
lines changed

completions/_hwclock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ _comp_cmd_hwclock()
1818
;;
1919
esac
2020

21-
COMPREPLY=(
22-
$(PATH="$PATH:/sbin" compgen -W '$(_parse_help "$1")' -- "$cur"))
21+
local PATH=$PATH:/sbin
22+
_comp_compgen_help
2323
} &&
2424
complete -F _comp_cmd_hwclock hwclock
2525

completions/badblocks

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ _comp_cmd_badblocks()
1717

1818
if [[ $cur == -* ]]; then
1919
# Filter out -w (dangerous) and -X (internal use)
20-
COMPREPLY=($(compgen -X '-[wX]' -W '$(_parse_usage "$1")' -- "$cur"))
20+
_comp_compgen -R usage
21+
((${#COMPREPLY[@]})) &&
22+
_comp_compgen -- -X '-[wX]' -W '"${COMPREPLY[@]}"'
2123
return
2224
fi
2325

completions/dnssec-keygen

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ _comp_cmd_dnssec_keygen()
3737
esac
3838

3939
if [[ $cur == -* ]]; then
40-
COMPREPLY=($(compgen -W '$(_parse_help "$1" | \
41-
command sed -e "s/:\$//")' -- "$cur"))
40+
_comp_compgen -R help
41+
((${#COMPREPLY[@]})) &&
42+
_comp_compgen -- -W '"${COMPREPLY[@]%:}"'
4243
return
4344
fi
4445
} &&

completions/jps

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ _comp_cmd_jps()
1212
esac
1313

1414
if [[ $cur == -* ]]; then
15-
# Not using _parse_usage because output has [-help] which does not
16-
# mean -h, -e, -l, -p...
15+
# Not using _comp_compgen_usage because output has [-help] which does
16+
# not mean -h, -e, -l, -p...
1717
_comp_compgen -- -W "-q -m -l -v -V -J -help"
1818
[[ ${COMPREPLY-} == -J* ]] && compopt -o nospace
1919
else

completions/links

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ _comp_cmd_links()
8080
esac
8181

8282
if [[ $cur == -* ]]; then
83-
COMPREPLY=($(compgen -W '$(_parse_help "$1" |
84-
command grep -vF -- "->")' -- "$cur"))
83+
_comp_compgen -R help
84+
((${#COMPREPLY[@]})) &&
85+
_comp_compgen -- -W '"${COMPREPLY[@]}"' -X "->"
8586
return
8687
fi
8788

completions/ps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ _comp_cmd_ps()
5656
esac
5757

5858
if [[ $cur == -* ]]; then
59-
# sed: strip single char dashless ", x," that trip _parse_help
59+
# sed: strip single char dashless ", x," that trip _comp_compgen_help
6060
_comp_compgen_help - <<<"$({
6161
"$1" --help
6262
"$1" --help all

completions/puppet

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ _comp_cmd_puppet()
147147
;;
148148
*)
149149
_comp_cmd_puppet__subcmd_opts "$1" "$subcommand"
150-
# _parse_usage doesn't grok [-D|--daemonize|--no-daemonize]
150+
# _comp_compgen_usage doesn't grok
151+
# [-D|--daemonize|--no-daemonize]
151152
_comp_compgen -a -- -W '--no-daemonize'
152153
return
153154
;;
@@ -298,7 +299,8 @@ _comp_cmd_puppet()
298299
;;
299300
*)
300301
_comp_cmd_puppet__subcmd_opts "$1" "$subcommand"
301-
# _parse_usage doesn't grok [-D|--daemonize|--no-daemonize]
302+
# _comp_compgen_usage doesn't grok
303+
# [-D|--daemonize|--no-daemonize]
302304
_comp_compgen -a -- -W '--no-daemonize'
303305
return
304306
;;

completions/tar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
# -------------------------
2020
#
2121
# For GNU tar, everything is parsed from `tar --help` output so not so much
22-
# per-distribution work should be needed. The _parse_help does not seem to be
23-
# good enough so parsed here directly.
22+
# per-distribution work should be needed. The _comp_compgen_help does not seem
23+
# to be good enough so parsed here directly.
2424
#
2525
#
2626
# FIXME: --starting-file (-K) (should be matched for extraction only)

completions/zopfli

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ _comp_cmd_zopfli()
1212
esac
1313

1414
if [[ $cur == -* ]]; then
15-
COMPREPLY=($(compgen -W \
16-
'$(_parse_help "$1" -h | command sed -e "s/#$//")' -- "$cur"))
15+
_comp_compgen -R help -- -h
16+
((${#COMPREPLY[@]})) &&
17+
_comp_compgen -- -W '"${COMPREPLY[@]%#}"'
1718
[[ ${COMPREPLY-} == --i ]] && compopt -o nospace
1819
return
1920
fi

0 commit comments

Comments
 (0)