From ae5ac5edea6f4c49e89291e4e973283c252fa59c Mon Sep 17 00:00:00 2001 From: Andrey Borzenkov Date: Wed, 8 May 2002 15:55:36 +0000 Subject: Merge 17080,17076,17075,17074,16461,16434,16437,16258,16247,16253 --- Completion/Unix/Type/.distfiles | 1 + Completion/Unix/Type/_services | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Completion/Unix/Type/_services (limited to 'Completion/Unix/Type') diff --git a/Completion/Unix/Type/.distfiles b/Completion/Unix/Type/.distfiles index 6d0c770ff..7ffcadeb1 100644 --- a/Completion/Unix/Type/.distfiles +++ b/Completion/Unix/Type/.distfiles @@ -8,4 +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 _net_interfaces +_services ' diff --git a/Completion/Unix/Type/_services b/Completion/Unix/Type/_services new file mode 100644 index 000000000..837a77586 --- /dev/null +++ b/Completion/Unix/Type/_services @@ -0,0 +1,23 @@ +#autoload + +local -a inits xinetds alls +local expl ret=1 + +if chkconfig --list > /dev/null 2>&1; then + alls=( ${(f)"$(LANGUAGE=C LANG=C LC_ALL=C chkconfig --list)"} ) + inits=( ${${${alls[1,(r)xinetd based*]}[1,-2]}/%[[:space:]]*/} ) + xinetds=( ${${${${alls[(r)xinetd based*,-1]}[2,-1]}/#[[:space:]]#}/%:*} ) +else + inits=( /etc/init.d/*(:t) ) +fi + +_tags init xinetd + +while _tags; do + _requested init expl 'init services' \ + compadd -a inits && ret=0 + _requested xinetd expl 'xinetd services' \ + compadd -a xinetds && ret=0 +done + +return $ret -- cgit 1.4.1