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