1#compdef irssi
2
3local expl
4
5_irssi_servers() {
6  local a
7  a=( $(grep "\(^[{ 	]*address\)\|\([{ 	]address\)[ 	]*=" ~/.irssi/config | sed -e "s,^.*address *= *\"\([^\"]\+\).*,\1 ,g") )
8  _wanted irc-servers expl 'irc server' compadd "$@" -a - a
9}
10
11_irssi_ports() {
12  local a
13  a=( $(grep "\(^[{ 	]*port\)\|\([{ 	]port\)[ 	]*=" ~/.irssi/config | sed -e "s,^.*port *= *\"\([^\"]\+\).*,\1,g") )
14  _wanted ports expl 'port' compadd "$@" -a - a
15}
16
17_irssi_nick() {
18  local a
19  a=( $(grep "\(^[{ 	]*nick\)\|\([{ 	]nick\)\|\([{ 	]alternate_nick\)\|\(^[{ 	]*alternate_nick\)[ 	]*=" ~/.irssi/config | sed -e "s,^.*nick *= *\"\([^\"]\+\).*,\1,g") )
20  _wanted nicknames expl 'nick' compadd "$@" -a - a
21}
22
23_arguments -s \
24  '--config=[config file]:config:_files' \
25  '--home=[home dir location]:home:_dir_list' \
26  '(-c --connect)'{-c,--connect=}'[connect to servers]:irc server:_irssi_servers' \
27  '(-w --password)'{-w,--password=}'[password]:password' \
28  '(-p --port)'{-p,--port=}'[specify a port]:port:_irssi_ports' \
29  '-![disable autoconnect]' \
30  '--noconnect[disable autoconnect]' \
31  '(-n --nick)'{-n,--nick=}'[set nick name]:nick:_irssi_nick' \
32  '(-h --hostname)'{-h,--hostname=}'[specify hostname]:hostname:_hosts' \
33  '(-d --dummy)'{-d,--dummy}'[use the dummy terminal mode]' \
34  '(-)'{-v,--version}'[display version information]' \
35  '(-)'{-\?,--help}'[display help information]' \
36  '(-)--usage[display usage]'
37
38