diff options
Diffstat (limited to 'bash')
-rw-r--r-- | bash/bash_completion.d/openssl.bash | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/bash/bash_completion.d/openssl.bash b/bash/bash_completion.d/openssl.bash new file mode 100644 index 00000000..b2bc1b7d --- /dev/null +++ b/bash/bash_completion.d/openssl.bash @@ -0,0 +1,32 @@ +# Some simple completion for openssl(1ssl) +_openssl() { + + # Only complete the first word: OpenSSL subcommands + case $COMP_CWORD in + 1) + while read -r subcmd ; do + case $subcmd in + '') ;; + "${COMP_WORDS[COMP_CWORD]}"*) + COMPREPLY[${#COMPREPLY[@]}]=$subcmd + ;; + esac + done < <( + for arg in \ + list-cipher-commands \ + list-standard-commands \ + list-message-digest-commands ; do + printf '%s\n' "$arg" + openssl "$arg" + done + ) + ;; + esac +} + +# bashdefault requires Bash >=3.0 +if ((BASH_VERSINFO[0] >= 3)) ; then + complete -F _openssl -o bashdefault -o default openssl +else + complete -F _openssl -o default openssl +fi |