summaryrefslogtreecommitdiffstats
path: root/completions/jarsigner
diff options
context:
space:
mode:
Diffstat (limited to 'completions/jarsigner')
-rw-r--r--completions/jarsigner39
1 files changed, 19 insertions, 20 deletions
diff --git a/completions/jarsigner b/completions/jarsigner
index 1f26c9c..ebc6cf8 100644
--- a/completions/jarsigner
+++ b/completions/jarsigner
@@ -1,14 +1,14 @@
# jarsigner(1) completion -*- shell-script -*-
-_jarsigner()
+_comp_cmd_jarsigner()
{
- local cur prev words cword
- _init_completion || return
+ local cur prev words cword comp_args
+ _comp_initialize -- "$@" || return
case $prev in
-keystore)
- COMPREPLY=($(compgen -W 'NONE' -- "$cur"))
- _filedir '@(jks|ks|p12|pfx)'
+ _comp_compgen -- -W 'NONE'
+ _comp_compgen -a filedir '@(jks|ks|p12|pfx)'
return
;;
-storepass | -keypass | -sigfile | -digestalg | -sigalg | -tsacert | -tsapolicyid | \
@@ -17,41 +17,40 @@ _jarsigner()
return
;;
-certchain | -tsa)
- _filedir
+ _comp_compgen_filedir
return
;;
-storetype)
- COMPREPLY=($(compgen -W 'JKS PKCS11 PKCS12' -- "$cur"))
+ _comp_compgen -- -W 'JKS PKCS11 PKCS12'
return
;;
-signedjar)
- _filedir '@(jar|apk)'
+ _comp_compgen_filedir '@(jar|apk)'
return
;;
esac
# Check if a jar was already given.
- local i jar=false
- for ((i = 1; i < ${#words[@]} - 1; i++)); do
- if [[ ${words[i]} == *.@(jar|apk) && \
+ local i jar=""
+ for ((i = 1; i < cword; i++)); do
+ if [[ ${words[i]} == *.@(jar|apk) &&
${words[i - 1]} != -signedjar ]]; then
- jar=true
+ jar=set
break
fi
done
- if ! $jar; then
+ if [[ ! $jar ]]; then
if [[ $cur == -* ]]; then
# Documented as "should not be used": -internalsf, -sectionsonly
- COMPREPLY=($(compgen -W '-keystore -storepass -storetype
- -keypass -sigfile -signedjar -digestalg -sigalg -verify
- -verbose -certs -tsa -tsacert -altsigner -altsignerpath
- -protected -providerName -providerClass -providerArg' \
- -- "$cur"))
+ _comp_compgen -- -W '-keystore -storepass -storetype -keypass
+ -sigfile -signedjar -digestalg -sigalg -verify -verbose -certs
+ -tsa -tsacert -altsigner -altsignerpath -protected
+ -providerName -providerClass -providerArg'
fi
- _filedir '@(jar|apk)'
+ _comp_compgen -a filedir '@(jar|apk)'
fi
} &&
- complete -F _jarsigner jarsigner
+ complete -F _comp_cmd_jarsigner jarsigner
# ex: filetype=sh