diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2001-12-11 15:46:21 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2001-12-11 15:46:21 +0000 |
commit | bee1fa9e0d6a920795df5015c33d32d33a45bb05 (patch) | |
tree | b51c22c2347635789bcb59f60e86dce6903a8f09 /Completion/Unix/Type/_file_systems | |
parent | ad2c72445459f6266e00fa8da0fffb6803622b1f (diff) | |
download | zsh-bee1fa9e0d6a920795df5015c33d32d33a45bb05.tar.gz zsh-bee1fa9e0d6a920795df5015c33d32d33a45bb05.tar.xz zsh-bee1fa9e0d6a920795df5015c33d32d33a45bb05.zip |
16320: factor out file system completion to new function
Diffstat (limited to 'Completion/Unix/Type/_file_systems')
-rw-r--r-- | Completion/Unix/Type/_file_systems | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Completion/Unix/Type/_file_systems b/Completion/Unix/Type/_file_systems new file mode 100644 index 000000000..b977ac79c --- /dev/null +++ b/Completion/Unix/Type/_file_systems @@ -0,0 +1,37 @@ +#autoload + +local fss + +case $OSTYPE in + aix*) fss=( jfs nfs cdrfs ) ;; + irix*) fss=( efs proc fd nfs iso9660 dos hfs cachefs xfs ) ;; + linux*) + typeset -aU fss + fss=( adfs bfs cramfs ext2 ext3 hfs hpfs iso9660 minix ntfs qnx4 + reiserfs romfs swap udf ufs vxfs xfs xiafs ) + [[ -r /proc/filesystems ]] && + fss=( $fss ${$(</proc/filesystems)#nodev} ) + [[ -r /etc/filesystems ]] && + fss=( $fss ${$(</etc/filesystems)#nodev} ) + ;; + osf*) fss=( advfs ufs nfs mfs cdfs ) ;; + solaris*) fss=( ufs nfs hsfs s5fs pcfs cachefs tmpfs ) ;; + freebsd*) + fss=( cd9660 devfs ext2fs fdesc kernfs linprocfs mfs msdos nfs + ntfs null nwfs portal procfs std ufs umap union ) + ;; + *) + # default for all other systems + fss=( ufs) + ;; +esac + +_wanted types expl 'file system type' compadd "$@" -M 'L:|no=' -a fss + + + + + + + + |