41 lines
987 B
Bash
Executable File
41 lines
987 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# auto-doc renderer
|
|
#
|
|
# will watch the spec directory and upon changes automatically
|
|
# render the helper documentation using `ldoc .`
|
|
# resulting docs are in ./spec/docs/index.html
|
|
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
pushd $SCRIPT_DIR
|
|
|
|
watched_files=$(find . -name '*.lua')
|
|
|
|
if [ -z "$watched_files" ]; then
|
|
echo "Nothing to watch, abort"
|
|
exit 1
|
|
else
|
|
echo "watching: $watched_files"
|
|
fi
|
|
|
|
previous_checksum="dummy"
|
|
while true ; do
|
|
checksum=$(md5 $watched_files | md5)
|
|
if [ "$checksum" != "$previous_checksum" ]; then
|
|
ldoc .
|
|
result=$?
|
|
if [ $result -ne 0 ]; then
|
|
echo -e "\033[0;31mldoc failed, exitcode: $result\033[0m"
|
|
echo
|
|
else
|
|
echo
|
|
echo "docs updated at: $(pwd)/docs/index.html"
|
|
echo -e "\033[1;33mwatching for changes...\033[0m"
|
|
echo
|
|
fi
|
|
fi
|
|
previous_checksum="$checksum"
|
|
sleep 1
|
|
done
|
|
|