From cd4e617bfd289ddcc4fa1f55b3cbfdceb5100fd1 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 19 Dec 2001 15:07:29 +0000 Subject: new ifconfig completion (16366) --- Completion/Unix/Type/.distfiles | 2 +- Completion/Unix/Type/_net_interfaces | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 Completion/Unix/Type/_net_interfaces (limited to 'Completion/Unix/Type') diff --git a/Completion/Unix/Type/.distfiles b/Completion/Unix/Type/.distfiles index dfb856bcb..04c30b4b0 100644 --- a/Completion/Unix/Type/.distfiles +++ b/Completion/Unix/Type/.distfiles @@ -8,5 +8,5 @@ _domains _path_files _ps _user_at_host _files _pdf _pspdf _users _groups _perl_basepods _signals _users_on _hosts _perl_builtin_funcs _tar_archive _time_zone -_file_systems +_file_systems _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%%:*}" -- cgit 1.4.1