about summary refs log tree commit diff
path: root/Completion/Unix/Type
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2002-03-25 16:05:31 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2002-03-25 16:05:31 +0000
commit531194ffcaf0eafb262fe766e23f888c38374b3f (patch)
tree43c92b67ef675627a771712bb29fb2a7d3aef9df /Completion/Unix/Type
parent99bec60e456f00b94eb1385c7bc151ba91ff0078 (diff)
downloadzsh-531194ffcaf0eafb262fe766e23f888c38374b3f.tar.gz
zsh-531194ffcaf0eafb262fe766e23f888c38374b3f.tar.xz
zsh-531194ffcaf0eafb262fe766e23f888c38374b3f.zip
merge changes from 4.1
Diffstat (limited to 'Completion/Unix/Type')
-rw-r--r--Completion/Unix/Type/.distfiles11
-rw-r--r--Completion/Unix/Type/_net_interfaces22
2 files changed, 33 insertions, 0 deletions
diff --git a/Completion/Unix/Type/.distfiles b/Completion/Unix/Type/.distfiles
new file mode 100644
index 000000000..6d0c770ff
--- /dev/null
+++ b/Completion/Unix/Type/.distfiles
@@ -0,0 +1,11 @@
+DISTFILES_SRC='
+.distfiles
+_dict_words          _mailboxes           _perl_modules        _tex
+_diff_options        _my_accounts         _pids                _texi
+_dir_list            _newsgroups          _ports               _tilde_files
+_directories         _other_accounts      _printers            _urls
+_domains             _path_files          _ps                  _user_at_host
+_files               _pdf                 _pspdf               _users
+_groups              _perl_basepods       _signals             _users_on
+_hosts               _perl_builtin_funcs  _tar_archive         _net_interfaces
+'
diff --git a/Completion/Unix/Type/_net_interfaces b/Completion/Unix/Type/_net_interfaces
new file mode 100644
index 000000000..cbd419ad8
--- /dev/null
+++ b/Completion/Unix/Type/_net_interfaces
@@ -0,0 +1,22 @@
+#autoload
+
+local expl list intf sep
+local -a disp
+
+case $OSTYPE in
+  aix*)
+    intf=( ${(f)"$(lsdev -C -c if -F 'name:description')"} )
+    if zstyle -T ":completion:${curcontext}" verbose; then
+      zstyle -s ":completion:${curcontext}:" list-separator sep || sep=--
+      zformat -a list " $sep " "$intf[@]"
+      disp=(-ld list)
+    fi
+  ;;
+  darwin*|freebsd*) intf=( $(ifconfig -l) ) ;;
+  irix*) intf=( ${${${(f)"$(/usr/etc/netstat -i)"}%% *}[2,-1]} ) ;;
+  linux*) intf=( /proc/sys/net/ipv4/conf/*~*(all|default)(N:t) ) ;;
+  *) intf=( $(ifconfig -a|sed -n 's/^\([^ 	:]*\).*/\1/p') ) ;;
+esac
+
+_wanted interfaces expl 'network interface' \
+    compadd "$@" "$disp[@]" - "${(@)intf%%:*}"