diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:42:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:42:50 +0000 |
commit | 8cb83eee5a58b1fad74c34094ce3afb9e430b5a4 (patch) | |
tree | a9b2e7baeca1be40eb734371e3c8b11b02294497 /bash-completion/eject | |
parent | Initial commit. (diff) | |
download | util-linux-8cb83eee5a58b1fad74c34094ce3afb9e430b5a4.tar.xz util-linux-8cb83eee5a58b1fad74c34094ce3afb9e430b5a4.zip |
Adding upstream version 2.33.1.upstream/2.33.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bash-completion/eject')
-rw-r--r-- | bash-completion/eject | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/bash-completion/eject b/bash-completion/eject new file mode 100644 index 0000000..327ef1b --- /dev/null +++ b/bash-completion/eject @@ -0,0 +1,64 @@ +_eject_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-a'|'--auto'|'-i'|'--manualeject') + COMPREPLY=( $(compgen -W "off on" -- $cur) ) + return 0 + ;; + '-c'|'--changerslot') + # FIXME: there must be way to determine slots + COMPREPLY=( $(compgen -W "slot" -- $cur) ) + return 0 + ;; + '-x'|'--cdspeed') + COMPREPLY=( $(compgen -W "$(eject --listspeed 2>/dev/null)" -- $cur) ) + return 0 + ;; + '-h'|'--help'|'-V'|'--version') + return 0 + ;; + esac + case $cur in + -*) + OPTS="--auto + --changerslot + --default + --floppy + --force + --manualeject + --no-unmount + --no-partitions-unmount + --noop + --proc + --tape + --cdrom + --scsi + --trayclose + --traytoggle + --verbose + --cdspeed + --listspeed + --help + --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local DEVS + DEVS="$(for I in /sys/class/block/*/removable; do + if [ $(cat $I) -ne 0 ]; then + OLD_IFS=$IFS + IFS='/'; + ARR=($I) + echo "/dev/${ARR[4]}" + IFS=$OLD_IFS + fi + done)" + COMPREPLY=( $(compgen -W "$DEVS" $cur) ) + return 0 +} +complete -F _eject_module eject |