summaryrefslogtreecommitdiffstats
path: root/bash-completion/umount
diff options
context:
space:
mode:
Diffstat (limited to 'bash-completion/umount')
-rw-r--r--bash-completion/umount57
1 files changed, 57 insertions, 0 deletions
diff --git a/bash-completion/umount b/bash-completion/umount
new file mode 100644
index 0000000..496474a
--- /dev/null
+++ b/bash-completion/umount
@@ -0,0 +1,57 @@
+_umount_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-t'|'--types')
+ local TYPES
+ TYPES="
+ $(\ls /lib/modules/$(uname -r)/kernel/fs | awk '{print $1, "no" $1}')
+ $(awk '{print $NF, "no" $NF}' /proc/filesystems)
+ "
+ COMPREPLY=( $(compgen -W "$TYPES" -- $cur) )
+ return 0
+ ;;
+ '-h'|'--help'|'-V'|'--version')
+ return 0
+ ;;
+ '-N'|'--namespace')
+ local NAMESPACE
+ NAMESPACE="$(lsns --type mnt --output PATH --noheadings)"
+ COMPREPLY=( $(compgen -W "$NAMESPACE" -- $cur) )
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS=" --all
+ --all-targets
+ --no-canonicalize
+ --detach-loop
+ --fake
+ --force
+ --internal-only
+ --namespace
+ --no-mtab
+ --lazy
+ --test-opts
+ --recursive
+ --read-only
+ --types
+ --quiet
+ --verbose
+ --help
+ --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+
+ local oldifs=$IFS
+ IFS=$'\n'
+ COMPREPLY=( $( compgen -W '$(findmnt -lno TARGET | sed "s/\([[:blank:]]\)/\\\\\1/g")' -- "$cur" ) )
+ IFS=$oldifs
+}
+complete -F _umount_module umount