diff options
Diffstat (limited to '')
-rw-r--r-- | bash-completion/mount | 101 | ||||
-rw-r--r-- | bash-completion/mountpoint | 24 |
2 files changed, 125 insertions, 0 deletions
diff --git a/bash-completion/mount b/bash-completion/mount new file mode 100644 index 0000000..832947f --- /dev/null +++ b/bash-completion/mount @@ -0,0 +1,101 @@ +_mount_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-t'|'--types') + local prefix realcur TYPES + TYPES=" + $(\ls /lib/modules/$(uname -r)/kernel/fs | awk '{print $1, "no" $1}') + $(awk '{print $NF, "no" $NF}' /proc/filesystems) + " + realcur="${cur##*,}" + prefix="${cur%$realcur}" + for WORD in $TYPES; do + if ! [[ $prefix == *"$WORD"* ]]; then + TYPE_COLS="$WORD ${TYPE_COLS:-""}" + fi + done + compopt -o nospace + COMPREPLY=( $(compgen -P "$prefix" -W "$TYPE_COLS" -S ',' -- $realcur) ) + return 0 + ;; + '-L'|'--label') + local LABELS + LABELS="$(lsblk -o LABEL -nr)" + COMPREPLY=( $(compgen -W "$LABELS" -- $cur) ) + return 0 + ;; + '-U'|'--uuid') + local UUIDS + UUIDS="$(lsblk -o UUID -nr)" + COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) ) + return 0 + ;; + '-N'|'--namespace') + local NAMESPACE + NAMESPACE="$(lsns --type mnt --output PATH --noheadings)" + COMPREPLY=( $(compgen -W "$NAMESPACE" -- $cur) ) + return 0 + ;; + '--options-mode') + COMPREPLY=( $(compgen -W "ignore append prepend replace" -- $cur) ) + return 0 + ;; + '--options-source') + COMPREPLY=( $(compgen -W "fstab mtab disable" -- $cur) ) + return 0 + ;; + '-h'|'--help'|'-V'|'--version') + return 0 + ;; + esac + case $cur in + -*) + OPTS=" --all + --no-canonicalize + --fake + --fork + --fstab + --help + --internal-only + --show-labels + --no-mtab + --options + --options-mode + --options-source + --options-source-force + --test-opts + --read-only + --types + --source + --target + --verbose + --version + --read-write + --namespace + --label + --uuid + --bind + --move + --rbind + --make-shared + --make-slave + --make-private + --make-unbindable + --make-rshared + --make-rslave + --make-rprivate + --make-runbindable" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +} +complete -F _mount_module mount diff --git a/bash-completion/mountpoint b/bash-completion/mountpoint new file mode 100644 index 0000000..15c6d23 --- /dev/null +++ b/bash-completion/mountpoint @@ -0,0 +1,24 @@ +_mountpoint_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-h'|'--help'|'-V'|'--version') + return 0 + ;; + esac + case $cur in + -*) + OPTS="--quiet --nofollow --fs-devno --devno --help --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/"}) ) + return 0 +} +complete -F _mountpoint_module mountpoint |