summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2011-03-01 20:21:59 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2011-03-01 20:21:59 +0000
commit6a015133bd937c3cd72cde32e35fb1baae4debd6 (patch)
tree7f6a4d83ca462ac42a3f81c5f2091c4cc3338482 /Completion
parent6e50d3d7dbed4adb01f71de823dda2a6ee5442f3 (diff)
downloadzsh-6a015133bd937c3cd72cde32e35fb1baae4debd6.tar.gz
zsh-6a015133bd937c3cd72cde32e35fb1baae4debd6.tar.xz
zsh-6a015133bd937c3cd72cde32e35fb1baae4debd6.zip
Baptiste: 28819: FreeBSD completion tweaks
Diffstat (limited to 'Completion')
-rw-r--r--Completion/BSD/Command/.distfiles1
-rw-r--r--Completion/BSD/Command/_sockstat23
-rw-r--r--Completion/Unix/Command/_mount6
-rw-r--r--Completion/Unix/Type/_file_systems4
4 files changed, 30 insertions, 4 deletions
diff --git a/Completion/BSD/Command/.distfiles b/Completion/BSD/Command/.distfiles
index 86530b8ea..d08edf814 100644
--- a/Completion/BSD/Command/.distfiles
+++ b/Completion/BSD/Command/.distfiles
@@ -15,4 +15,5 @@ _portmaster
 _portsnap
 _powerd
 _procstat
+_sockstat
 '
diff --git a/Completion/BSD/Command/_sockstat b/Completion/BSD/Command/_sockstat
new file mode 100644
index 000000000..2acbe6bec
--- /dev/null
+++ b/Completion/BSD/Command/_sockstat
@@ -0,0 +1,23 @@
+#compdef sockstat
+
+local tmp_proto protocols proto
+
+tmp_proto=(${${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]*}})
+for proto ($tmp_proto) { 
+	case $proto in
+	*\#*)
+		protocols=($protocols ${${(j: :)${=proto}}// *\# /:}) 
+		;;
+	*)
+		protocols=($protocols ${${(j: :)${=proto}}// */})
+	esac
+}
+
+_arguments -s \
+	'-4[Show AF_INET (IPv4) sockets]' \
+	'-6[Show AF_INET6 (IPv6) sockets]' \
+	'-c[Show connected sockets]' \
+	'-l[Show listening sockets]' \
+	'-u[Show AF_LOCAL (UNIX) sockets]' \
+	'-p[Only show Internet sockets if the port number is on the specified list]' \
+	'-P[Only show sockets of the specified protocols]:protocols:(($protocols))'
diff --git a/Completion/Unix/Command/_mount b/Completion/Unix/Command/_mount
index 7334481ba..409d253ab 100644
--- a/Completion/Unix/Command/_mount
+++ b/Completion/Unix/Command/_mount
@@ -44,7 +44,8 @@ local args deffs=iso9660 tmp typeops=-t _nfs_access _fs_nfs _nfs_ufs \
 _fs_ufs _fs_efs _fs_cd9660 _fs_iso9660 _fs_cachefs _fs_s5fs _fs_tmpfs _fs_pcfs \
 _fs_hsfs _fs_advfs _fs_cdfs _fs_affs _fs_ext2 _fs_fat _fs_ext3 _fs_msdos \
 _fs_msdosfs _fs_umsdos _fs_vfat _fs_hpfs _fs_ntfs _fs_reiserfs _fs_smbfs \
-_fs_xfs _fs_std _fs_devfs _fs_fdesc _fs_kernfs _fs_linprocfs _fs_procfs
+_fs_xfs _fs_std _fs_devfs _fs_fdesc _fs_kernfs _fs_linprocfs _fs_linsysfs \
+_fs_procfs
 
 typeset -A opt_args
 
@@ -566,6 +567,7 @@ if (( ! $+_fs_any )); then
     _fs_fdesc=( "$_fs_std[@]" )
     _fs_kernfs=( "$_fs_std[@]" )
     _fs_linprocfs=( "$_fs_std[@]" )
+    _fs_linsysfs=( "$_fs_std[@]" )
     _fs_procfs=( "$_fs_std[@]" )
     _fs_msdos=(
       'shortnames[]'
@@ -868,7 +870,7 @@ devordir)
     # add glabel devices
     _glabel=(${(M)${(f)"$(/sbin/glabel list)"}:#*Name:[[:space:]]*/*})
     for mline ($_glabel);do
-	    dev_tmp+=( mline[(w)3] )
+	    dev_tmp+=( /dev/$mline[(w)3] )
     done
 
     _alternative \
diff --git a/Completion/Unix/Type/_file_systems b/Completion/Unix/Type/_file_systems
index 26053c8ed..3415bb163 100644
--- a/Completion/Unix/Type/_file_systems
+++ b/Completion/Unix/Type/_file_systems
@@ -21,8 +21,8 @@ case $OSTYPE in
           ntfs null nwfs portal procfs std udf ufs umap union )
   ;;
   freebsd*)
-    fss=( cd9660 devfs ext2fs fdesc kernfs linprocfs mfs msdosfs nfs
-    ntfs nullfs nwfs portal procfs smbfs std udf ufs umap unionfs 
+    fss=( cd9660 devfs ext2fs fdescfs kernfs linprocfs linsysfs mfs msdosfs nfs
+    ntfs nullfs nwfs portalfs procfs smbfs std udf ufs unionfs 
     reiserfs xfs)
   ;;
   darwin*)