unset flags
typeset -g -A flags handler
typeset -g -a run reload_files restart_files

handler=( )
reload_files=( )
restart_files=( )

if (( $# )); then
	zsv_setdirs $1
fi

flags=( )
local c
for c in "$svtab_flags[$zsv_name]"; do
	[[ $c == [a-z] ]]
	flags[${c:u}]=$?
done

zsv_dotnames=( ${(s:.:)zsv_name} )
#f_run=${zsv_default_runf}
#f_log=${zsv_default_logf}
# f_cond=check
cond() {
	check
}
check() {
	true
}
prepare() {
	true
}

runf() { handler[run]=$1 }
logf() { handler[log]=$1 }
condf() { handler[cond]=$1 }
checkf() { handler[check]=$1 }
finishf() { handler[finish]=$1 }

run=( $zsv_name )
condf cond

if (($+functions[zsv_defaults_${zsv_name%%.*}])); then
	zsv_defaults_${zsv_name%%.*}
fi
if (($+functions[zsv_run_${zsv_name%%.*}])); then
	runf zsv_run_${zsv_name%%.*}
fi

[[ -n $svtab_sh[$zsv_name] ]] && eval $svtab_sh[$zsv_name]

# vim: ft=zsh noet ts=4 sts=4 sw=4