#compdef sms smsaddr

# Copyright (c) 2002 GoTaR <gotar@priv0.onet.pl>

#_sms_aliases0 () {
##	compadd "$@" $(print ${(f)"$(smsaddr -l | cut -f1)"})
#	local smsas
#	smsas=(`smsaddr -l | perl -ne 's/	+/:/; if (/^'$PREFIX'/) {print} else {if (/:'$PREFIX'/) {/^(.*):(.*)$/; print "$2:$1 "}}'`)
#	_describe "SMS alias" "smsas"
#}

_sms_aliases () {
	local smsas
	smsas=(${(f)"$(smsaddr -l)"})
	smsas=(${smsas/	##/:})
if [[ -n "$PREFIX$SUFFIX" ]]; then
	smsas=($smsas ${smsas/(#s)(#b)(^($PREFIX)*):(*)(#e)/$match[3]:$match[1]})
fi
#	smsas=(${(M)smsas:#$PREFIX*})
	_describe "SMS alias" smsas
}

_sms_alias () {
	local smsas
	smsas=(${(f)"$(smsaddr -l)"})
	smsas=(${smsas/	##/:})
	_describe "SMS alias" smsas
}

#_sms_aliases1 () {
#smsaddr -l | while read alias number; do
#	if [[ $alias == $PREFIX*$SUFFIX || $number == $PREFIX*$SUFFIX ]]; then
#		compadd -U -- $alias
#	fi
#done
#}	       

case "$service" in
sms)
	_arguments \
		'1:SMS alias or number:_sms_aliases' \
		':message:_guard' \
		'--split[split to max n messages]:number of messages:(2 5 9)' \
		'--supersms[send via SuperSMS.pl gateway]' \
		'--czat[send via Idea.czat gateway]' \
		'--dlogin[login for Idea.czat]:login:_guard' \
		'--pf[send via Panorama Firm gateway]' \
		'--plusmail[send message to PlusGSM network via e-mail gateway, not www]' \
		'--cfg[config file]:config file:_files' \
		'--check[check for the new version of this program]' \
		'--from[sender e-mail adress for PlusGSM and Idea gateways]:e-mail:_guard' \
		'--ip[sender IP]:IP:_guard' \
		'--sign[set signature]:signature:_guard' \
		'--thanksto'
	;;
smsaddr)
	_arguments \
		'(-r -l)-a[add new entry]:New entry name:_guard:Phone number:_guard' \
		'(-a -l)-r[remove existing entry]:SMS alias:_sms_alias' \
		'(-a -r)-l[list entry]:SMS alias:_sms_alias'
esac
