On Wed, Mar 27, 2013 at 10:07:47PM +0000, Sami Kerola wrote: > Signed-off-by: Sami Kerola <kerolasa@xxxxxx> > --- > shell-completion/blkid | 62 ++++++++++++++++++++++++++ > shell-completion/cal | 15 +++++++ > shell-completion/findmnt | 114 +++++++++++++++++++++++++++++++++++++++++++++++ > shell-completion/getopt | 34 ++++++++++++++ > shell-completion/logger | 43 ++++++++++++++++++ > shell-completion/look | 24 ++++++++++ > shell-completion/lsblk | 60 +++++++++++++++++++++++++ > shell-completion/lslocks | 43 ++++++++++++++++++ > shell-completion/mcookie | 23 ++++++++++ > shell-completion/namei | 17 +++++++ > shell-completion/rename | 27 +++++++++++ > shell-completion/uuidd | 33 ++++++++++++++ > shell-completion/uuidgen | 15 +++++++ > shell-completion/whereis | 24 ++++++++++ > shell-completion/wipefs | 38 ++++++++++++++++ > 15 files changed, 572 insertions(+) > create mode 100644 shell-completion/blkid > create mode 100644 shell-completion/cal > create mode 100644 shell-completion/findmnt > create mode 100644 shell-completion/getopt > create mode 100644 shell-completion/logger > create mode 100644 shell-completion/look > create mode 100644 shell-completion/lsblk > create mode 100644 shell-completion/lslocks > create mode 100644 shell-completion/mcookie > create mode 100644 shell-completion/namei > create mode 100644 shell-completion/rename > create mode 100644 shell-completion/uuidd > create mode 100644 shell-completion/uuidgen > create mode 100644 shell-completion/whereis > create mode 100644 shell-completion/wipefs > > diff --git a/shell-completion/blkid b/shell-completion/blkid > new file mode 100644 > index 0000000..dce41e0 > --- /dev/null > +++ b/shell-completion/blkid > @@ -0,0 +1,62 @@ > +_blkid_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-c') > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > + ;; > + '-o') > + COMPREPLY=( $(compgen -W "value device export full" -- $cur) ) > + return 0 > + ;; > + '-s') > + COMPREPLY=( $(compgen -W "tag" -- $cur) ) > + return 0 > + ;; > + '-t') > + COMPREPLY=( $(compgen -W "token" -- $cur) ) > + return 0 > + ;; > + '-L') > + COMPREPLY=( $(compgen -W "$(\ls /dev/disk/by-label/ 2>/dev/null)" -- $cur) ) > + return 0 > + ;; > + '-U') > + COMPREPLY=( $(compgen -W "$(\ls /dev/disk/by-uuid/ 2>/dev/null)" -- $cur) ) > + return 0 > + ;; > + '-s') > + COMPREPLY=( $(compgen -W "size" -- $cur) ) > + return 0 > + ;; > + '-O') > + COMPREPLY=( $(compgen -W "offset" -- $cur) ) > + return 0 > + ;; > + '-u') > + COMPREPLY=( $(compgen -W "filesystem raid crypto other nofilesystem noraid nocrypto noother" -- $cur) ) > + return 0 > + ;; > + '-n') > + COMPREPLY=( $(compgen -W "$(awk '{print $NF}' /proc/filesystems)" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-c -d -h -g -o -k -s -t -l -L -U -V -p -i -S -O -u -n" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + local PARTITIONS > + PARTITIONS="$(for I in /sys/block/*/*/partition; do IFS='/'; DIR_ARR=($I); echo "/dev/${DIR_ARR[4]}"; done)" You want the loop *outside* the assignment, rather than exploding the contents into the array via echo: for part in /sys/block/*/*/partition; do IFS=/ read -ra a <<< "$part" partitions+=("${a[4]}") done > + COMPREPLY=( $(compgen -W "$PARTITIONS" -- $cur) ) > + return 0 > +} > +complete -F _blkid_module blkid > diff --git a/shell-completion/cal b/shell-completion/cal > new file mode 100644 > index 0000000..d50c8bb > --- /dev/null > +++ b/shell-completion/cal > @@ -0,0 +1,15 @@ > +_cal_module() > +{ > + local cur OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + case $cur in > + -*) > + OPTS="-1 --one -3 --three -s --sunday -m --monday -j --julian -y --year -V --version -h --help" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _cal_module cal > diff --git a/shell-completion/findmnt b/shell-completion/findmnt > new file mode 100644 > index 0000000..5207b97 > --- /dev/null > +++ b/shell-completion/findmnt > @@ -0,0 +1,114 @@ > +_findmnt_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-p'|'--poll') > + COMPREPLY=( $(compgen -W "=list" -- $cur) ) > + return 0 > + ;; > + '-w'|'--timeout') > + COMPREPLY=( $(compgen -W "timeout" -- $cur) ) > + return 0 > + ;; > + '-d'|'--direction') > + COMPREPLY=( $(compgen -W "forward backward" -- $cur) ) > + return 0 > + ;; > + '-F'|'--tab-file') > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > + ;; > + '-N'|'--task') > + local TID I > + TID="$(for I in /proc/*/mountinfo; do IFS='/'; TID=($I); echo "${TID[2]}"; done)" Ditto here > + COMPREPLY=( $(compgen -W "$TID" -- $cur) ) > + return 0 > + ;; > + '-O'|'--options') > + local MNT_OPTS > + MNT_OPTS=$(awk '{ n = split($4, a, ","); for (i = 0; i <= n; i++) { mnt_opts[a[i]]=1 } } END { for (i in mnt_opts) { print i } }' /etc/mtab 2>/dev/null ) I'm not sure you want to get into this game. You're including values from key=val pairs (e.g. the 300 in timeout=300). Regardless, no awk required here declare -A mnt_opts while read _ _ _ optstring _; do IFS=, read -ra opts <<< "$optstring" for opt in "${opts[@]}"; do mnt_opts["${opt%%=*}"]=1 done done </etc/mtab opts=("${!mnt_opts[@]}") > + COMPREPLY=( $(compgen -W "$MNT_OPTS" -- $cur) ) > + return 0 > + ;; > + '-o'|'--output') > + # FIXME: how to append to a string with compgen? I've been down this road when I wrote some of the systemd completion. I don't think you want to go there. > + local OUTPUT > + OUTPUT="SOURCE TARGET FSTYPE OPTIONS VFS-OPTIONS > + FS-OPTIONS LABEL UUID PARTLABEL PARTUUID > + MAJ\:MIN ACTION OLD-TARGET OLD-OPTIONS > + SIZE AVAIL USED USE% FSROOT TID ID > + OPT-FIELDS PROPAGATION FREQ PASSNO" > + compopt -o nospace > + COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) > + return 0 > + ;; > + '-t'|'--types') > + local TYPES > + TYPES="adfs affs autofs cifs coda coherent cramfs > + debugfs devpts efs ext ext2 ext3 ext4 hfs > + hfsplus hpfs iso9660 jfs minix msdos > + ncpfs nfs nfs4 ntfs proc qnx4 ramfs > + reiserfs romfs squashfs smbfs sysv tmpfs > + ubifs udf ufs umsdos usbfs vfat xenix xfs > + xiafs" > + COMPREPLY=( $(compgen -W "$TYPES" -- $cur) ) > + return 0 > + ;; > + '-S'|'--source') > + local DEV_MPOINT > + DEV_MPOINT=$(awk '{ print $1 }' /etc/mtab 2>/dev/null) > + COMPREPLY=( $(compgen -W "$DEV_MPOINT" -- $cur) ) > + return 0 > + ;; > + '-T'|'--target') > + local DEV_MPOINT > + DEV_MPOINT=$(awk '{ print $2 }' /etc/mtab 2>/dev/null) > + COMPREPLY=( $(compgen -W "$DEV_MPOINT" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-s --fstab > + -m --mtab > + -k --kernel > + -p --poll > + -w --timeout > + -A --all > + -a --ascii > + -c --canonicalize > + -D --df > + -d --direction > + -e --evaluate > + -F --tab-file > + -f --first-only > + -i --invert > + -l --list > + -N --task > + -n --noheadings > + -u --notruncate > + -O --options > + -o --output > + -P --pairs > + -r --raw > + -t --types > + -v --nofsroot > + -R --submounts > + -S --source > + -T --target > + -h --help > + -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + local DEV_MPOINT > + DEV_MPOINT=$(awk '{ print $1, $2 }' /etc/mtab 2>/dev/null) > + COMPREPLY=( $(compgen -W "$DEV_MPOINT" -- $cur) ) > + return 0 > +} > +complete -F _findmnt_module findmnt > diff --git a/shell-completion/getopt b/shell-completion/getopt > new file mode 100644 > index 0000000..ea8c8e2 > --- /dev/null > +++ b/shell-completion/getopt > @@ -0,0 +1,34 @@ > +_getopt_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-l'|'--longoptions') > + COMPREPLY=( $(compgen -W "longopts" -- $cur) ) > + return 0 > + ;; > + '-n'|'--name') > + COMPREPLY=( $(compgen -W "name" -- $cur) ) > + return 0 > + ;; > + '-o'|'--options') > + COMPREPLY=( $(compgen -W "optstring" -- $cur) ) > + return 0 > + ;; > + '-s'|'--shell') > + COMPREPLY=( $(compgen -W "sh bash csh tcsh" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-a --alternative -h --help -l --longoptions -n --name -o --options -q --quiet -Q --quiet-output -s --shell -T --test -u --unquote -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _getopt_module getopt > diff --git a/shell-completion/logger b/shell-completion/logger > new file mode 100644 > index 0000000..f572302 > --- /dev/null > +++ b/shell-completion/logger > @@ -0,0 +1,43 @@ > +_logger_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-f'|'--file') > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > + ;; > + '-n'|'--server') > + COMPREPLY=( $(compgen -A hostname -- $cur) ) > + return 0 > + ;; > + '-P'|'--port') > + COMPREPLY=( $(compgen -W "$(awk '$1 ~ /^syslog$/ {split($2, a, "/"); print a[1]}' /etc/services)" -- $cur) ) > + return 0 > + ;; > + '-p'|'--priority') > + COMPREPLY=( $(compgen -W "$(echo {auth,authpriv,cron,daemon,ftp,lpr,mail,news,security}.{alert,crit,debug,emerg,err,error})" -- $cur) ) > + return 0 > + ;; > + '-t'|'--tag') > + COMPREPLY=( $(compgen -W "tag" -- $cur) ) > + return 0 > + ;; > + '-u'|'--socket') > + COMPREPLY=( $(compgen -W "$(awk '$NF ~ /^\// {print $NF}' /proc/net/unix)" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-d --udp -i --id -f --file -h --help -n --server -P --port -p --priority -s --stderr -t --tag -u --socket -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _logger_module logger > diff --git a/shell-completion/look b/shell-completion/look > new file mode 100644 > index 0000000..68cea56 > --- /dev/null > +++ b/shell-completion/look > @@ -0,0 +1,24 @@ > +_look_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-t'|'--terminate') > + COMPREPLY=( $(compgen -W "char" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-a --alternative -d --alphanum -f --ignore-case -t --terminate -V --version -h --help" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > +} > +complete -F _look_module look > diff --git a/shell-completion/lsblk b/shell-completion/lsblk > new file mode 100644 > index 0000000..521cead > --- /dev/null > +++ b/shell-completion/lsblk > @@ -0,0 +1,60 @@ > +_lsblk_module() > +{ > + local cur prev OPTS MAJOR > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-e'|'--exclude'|'-I'|'--include') > + MAJOR=$(\ls /sys/dev/block/ | sed 's/:.*//') > + # FIXME: how to append to a string with compgen? > + compopt -o nospace > + COMPREPLY=( $(compgen -W "$MAJOR" -S ',' -- $cur) ) > + return 0 > + ;; > + '-o'|'--output') > + # FIXME: how to append to a string with compgen? > + OUTPUT="NAME KNAME MAJ:MIN FSTYPE MOUNTPOINT > + LABEL UUID PARTLABEL PARTUUID RA RO RM > + MODEL SIZE STATE OWNER GROUP MODE > + ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC > + ROTA SCHED RQ-SIZE TYPE DISC-ALN > + DISC-GRAN DISC-MAX DISC-ZERO WSAME WWN > + RAND PKNAME HCTL TRAN REV VENDOR" > + compopt -o nospace > + COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-a --all > + -b --bytes > + -d --nodeps > + -D --discard > + -e --exclude > + -I --include > + -f --fs > + -h --help > + -i --ascii > + -m --perms > + -l --list > + -n --noheadings > + -o --output > + -P --pairs > + -r --raw > + -s --inverse > + -t --topology > + -S --scsi > + -h --help > + -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + local DEVS > + DEVS="$(\ls -d /sys/class/block/* | sed 's|/sys/class/block/|/dev/|g')" > + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) > + return 0 > +} > +complete -F _lsblk_module lsblk > diff --git a/shell-completion/lslocks b/shell-completion/lslocks > new file mode 100644 > index 0000000..f55c17e > --- /dev/null > +++ b/shell-completion/lslocks > @@ -0,0 +1,43 @@ > +_lslocks_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-p'|'--pid') > + local PIDS > + # /proc/locks can have 8 to 9 fields, see commit > + # 55c0d16bab8cc84b72bf11cb2fdd8aa6205ac608 > + PIDS="$(awk '{print $(NF-3)}' /proc/locks)" > + COMPREPLY=( $(compgen -W "$PIDS" -- $cur) ) > + return 0 > + ;; > + '-o'|'--output') > + # FIXME: how to append to a string with compgen? > + local OUTPUT > + OUTPUT="COMMAND PID TYPE SIZE MODE M START END PATH BLOCKER" > + compopt -o nospace > + COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) > + return 0 > + ;; > + > + esac > + case $cur in > + -*) > + OPTS="-p --pid > + -o --output > + -n --noheadings > + -r --raw > + -u --notruncate > + -h --help > + -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > +} > +complete -F _lslocks_module lslocks > diff --git a/shell-completion/mcookie b/shell-completion/mcookie > new file mode 100644 > index 0000000..1c01a55 > --- /dev/null > +++ b/shell-completion/mcookie > @@ -0,0 +1,23 @@ > +_mcookie_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-f'|'--file') > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-f --file -v --verbose -V --version -h --help" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _mcookie_module mcookie > diff --git a/shell-completion/namei b/shell-completion/namei > new file mode 100644 > index 0000000..c44821c > --- /dev/null > +++ b/shell-completion/namei > @@ -0,0 +1,17 @@ > +_namei_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + case $cur in > + -*) > + OPTS="-h --help -V --version -x --mountpoints -m --modes -o --owners -l --long -n --nosymlinks -v --vertical" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > +} > +complete -F _namei_module namei > diff --git a/shell-completion/rename b/shell-completion/rename > new file mode 100644 > index 0000000..0fe4cc6 > --- /dev/null > +++ b/shell-completion/rename > @@ -0,0 +1,27 @@ > +_rename_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + case $cur in > + -*) > + OPTS="-v --verbose -s --symlink -h --help -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + case $COMP_CWORD in > + 1) > + COMPREPLY=( $(compgen -W "expression" -- $cur) ) > + ;; > + 2) > + COMPREPLY=( $(compgen -W "replacement" -- $cur) ) > + ;; > + *) > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + ;; > + esac > + return 0 > +} > +complete -F _rename_module rename > diff --git a/shell-completion/uuidd b/shell-completion/uuidd > new file mode 100644 > index 0000000..23c1a49 > --- /dev/null > +++ b/shell-completion/uuidd > @@ -0,0 +1,33 @@ > +_uuidd_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-p'|'--pid'|'-s'|'--socket') > + compopt -o filenames > + COMPREPLY=( $(compgen -f -- $cur) ) > + return 0 > + ;; > + '-T'|'--timeout') > + compopt -o filenames > + COMPREPLY=( $(compgen -W "timeout" -- $cur) ) > + return 0 > + ;; > + '-n'|'--uuids') > + compopt -o filenames > + COMPREPLY=( $(compgen -W "number" -- $cur) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-p --pid -s --socket -T --timeout -k --kill -r --random -t --time -n --uuids -P --no-pid -F --no-fork -S --socket-activation -d --debug -q --quiet -V --version -h --help" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _uuidd_module uuidd > diff --git a/shell-completion/uuidgen b/shell-completion/uuidgen > new file mode 100644 > index 0000000..d9edde9 > --- /dev/null > +++ b/shell-completion/uuidgen > @@ -0,0 +1,15 @@ > +_uuidgen_module() > +{ > + local cur OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + case $cur in > + -*) > + OPTS="-r --random -t --time -V --version -h --help" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + return 0 > +} > +complete -F _uuidgen_module uuidgen > diff --git a/shell-completion/whereis b/shell-completion/whereis > new file mode 100644 > index 0000000..96e4117 > --- /dev/null > +++ b/shell-completion/whereis > @@ -0,0 +1,24 @@ > +_whereis_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-B'|'-M'|'-S') > + compopt -o filenames > + COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) ) > + return 0 > + ;; > + esac > + case $cur in > + -*) > + OPTS="-b -B -m -M -s -S -f -u -l" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + COMPREPLY=( $(compgen -W "file" -- $cur) ) > + return 0 > +} > +complete -F _whereis_module whereis > diff --git a/shell-completion/wipefs b/shell-completion/wipefs > new file mode 100644 > index 0000000..427f47b > --- /dev/null > +++ b/shell-completion/wipefs > @@ -0,0 +1,38 @@ > +_wipefs_module() > +{ > + local cur prev OPTS > + COMPREPLY=() > + cur="${COMP_WORDS[COMP_CWORD]}" > + prev="${COMP_WORDS[COMP_CWORD-1]}" > + case $prev in > + '-o'|'--offset') > + COMPREPLY=( $(compgen -W "offset" -- $cur) ) > + return 0 > + ;; > + '-t'|'--types') > + local TYPES > + TYPES="adfs affs autofs cifs coda coherent cramfs > + debugfs devpts efs ext ext2 ext3 ext4 hfs > + hfsplus hpfs iso9660 jfs minix msdos > + ncpfs nfs nfs4 ntfs proc qnx4 ramfs > + reiserfs romfs squashfs smbfs sysv tmpfs > + ubifs udf ufs umsdos usbfs vfat xenix xfs > + xiafs" > + COMPREPLY=( $(compgen -W "$TYPES" -- $cur) ) > + return 0 > + ;; > + > + esac > + case $cur in > + -*) > + OPTS="-a --all -f --force -h --help -n --no-actn -o --offset -p --parsable -q --quiet -t --types -V --version" > + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) > + return 0 > + ;; > + esac > + local DEVS > + DEVS="$(\ls -d /sys/class/block/* | sed 's|/sys/class/block/|/dev/|g')" > + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) > + return 0 > +} > +complete -F _wipefs_module wipefs > -- > 1.8.2 > > -- > To unsubscribe from this list: send the line "unsubscribe util-linux" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html