aboutsummaryrefslogtreecommitdiff
path: root/bash
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-01-28 22:22:08 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-01-28 22:33:25 +1300
commit1e4e9f9e7d24f58991766044aa26abd6749b4c9f (patch)
treebc67fe0f3ee84c9ade0e29a8bbec65c9ea6b8206 /bash
parentFix nc(1) completions, add nmap(1) completions (diff)
downloaddotfiles-1e4e9f9e7d24f58991766044aa26abd6749b4c9f.tar.gz
dotfiles-1e4e9f9e7d24f58991766044aa26abd6749b4c9f.zip
Add openssl(1ssl) completion
Diffstat (limited to 'bash')
-rw-r--r--bash/bash_completion.d/openssl.bash32
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