local -A loaded
local ffile fname xtrace
# disable tracing for noisy part
! [[ -o xtrace ]]; xtrace=$?
(($xtrace)) && set +x
# check which autoloadable functions are loaded
for ffile in $^fpath/*(.N); do
fname=$ffile:t
if (($+functions[$fname])) && \
[[ $functions[$fname] != 'builtin autoload -XU' ]] && \
! (($+loaded[$fname])); then
loaded[$fname]=$ffile
fi
done
# restore tracing
(($xtrace)) && set -x
# print service's script file, explicit restart files and autoloaded
# functions into restart.files
print -rl - $svtab_src[$zsv_name] $restart_files $loaded >$zsv_dir/restart.files
# add the executable to restart.files
if [[ $run[1] == /* ]]; then
# absolute path
print -r - $run[1] >>$zsv_dir/restart.files
elif (($+commands[$run[1]])); then
# command found in path
print -r - $commands[$run[1]] >>$zsv_dir/restart.files
fi
if (($#reload_files)); then
print -rl - $reload_files >$zsv_dir/reload.files
elif [[ -e $zsv_dir/reload.files ]]; then
rm -f $zsv_dir/reload.files
fi
# vim: ft=zsh noet ts=4 sts=4 sw=4