From f2621414ee5f2f601424c22f00e207903e3b6104 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 03:03:18 +0200 Subject: Merging upstream version 1:2.12.0. Signed-off-by: Daniel Baumann --- completions/jarsigner | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'completions/jarsigner') 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 -- cgit v1.2.3