diff options
Diffstat (limited to 'Completion/BSD/Type/_bsd_disks')
-rw-r--r-- | Completion/BSD/Type/_bsd_disks | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Completion/BSD/Type/_bsd_disks b/Completion/BSD/Type/_bsd_disks new file mode 100644 index 000000000..986d36e45 --- /dev/null +++ b/Completion/BSD/Type/_bsd_disks @@ -0,0 +1,26 @@ +#autoload +# disk device names on BSDs +local -a disks + +case $OSTYPE in + freebsd*) + disks=( ${${(M)${(f)"$(geom disk list)"}\:#Geom name\:*}#*\: } ) + ;; + dragonfly*) + disks=( $(sysctl -n kern.disks) ) + ;; + openbsd*) + disks=( ${${(s.,.)"$(sysctl -n hw.disknames)"}%\:*} ) + ;; + netbsd*) + disks=( $(sysctl -n hw.disknames) ) + ;; +esac + +if (( $#disks )); then + local expl + _wanted disk-devices expl 'disk device' compadd "$@" $disks + return +fi + +return 1 |