summaryrefslogtreecommitdiffstats
path: root/debian/bash_completion
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 17:44:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 17:44:13 +0000
commit1103cc2d299a0f29631f9f5322d93efcca8098c7 (patch)
tree656763a55c9de10b1de70761e3d0b8d44056af1d /debian/bash_completion
parentAdding upstream version 2:2.3.7. (diff)
downloadcryptsetup-debian/2%2.3.7-1+deb11u1.tar.xz
cryptsetup-debian/2%2.3.7-1+deb11u1.zip
Adding debian version 2:2.3.7-1+deb11u1.debian/2%2.3.7-1+deb11u1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/bash_completion')
-rw-r--r--debian/bash_completion/cryptdisks_start42
1 files changed, 42 insertions, 0 deletions
diff --git a/debian/bash_completion/cryptdisks_start b/debian/bash_completion/cryptdisks_start
new file mode 100644
index 0000000..8cfac76
--- /dev/null
+++ b/debian/bash_completion/cryptdisks_start
@@ -0,0 +1,42 @@
+# cryptdisks_{start,stop} completion by first column of crypttab
+#
+# Copyright 2013 Claudius Hubig <cl_crds@chubig.net>, 2-clause BSD
+
+_cryptdisks() {
+ local action="$1" t
+ for t in $( mawk -vt="${COMP_WORDS[COMP_CWORD]}" \
+ '($1 !~ /^#/ && index($1,t) == 1) {print $1}' \
+ "${TABFILE-"/etc/crypttab"}" ); do
+ if [ "$action" = start -a ! -e "/dev/mapper/$t" ] ||
+ [ "$action" = stop -a -e "/dev/mapper/$t" ]; then
+ COMPREPLY+=( "$t" )
+ fi
+ done
+ return 0;
+}
+
+_cryptdisks_start() {
+ local i include_options=y
+ COMPREPLY=()
+ for (( i=0; i < COMP_CWORD-1; i++ )); do
+ if [ "${COMP_WORDS[i]}" = "--" ] || [[ "${COMP_WORDS[i]}" != -* ]]; then
+ include_options=n
+ break
+ fi
+ done
+ if [ "$include_options" = "y" ]; then
+ for i in "-r" "--readonly" "--"; do
+ if [[ "$i" == "${COMP_WORDS[COMP_CWORD]}"* ]]; then
+ COMPREPLY+=( "$i" )
+ fi
+ done
+ fi
+ _cryptdisks start "$@"
+}
+_cryptdisks_stop() {
+ COMPREPLY=()
+ _cryptdisks stop "$@";
+}
+
+complete -F _cryptdisks_start cryptdisks_start
+complete -F _cryptdisks_stop cryptdisks_stop