set -eu -o pipefail
function list {
echo "commands:"
declare -F | awk '{ print " " $3 }'
}
function update-upstream {
curl https://www.w3.org/TR/WGSL/ > spec/WGSL.html
}
function build {
cargo build -F scrape "$@"
}
function test {
cargo test -F scrape "$@"
}
function run {
cargo run --example gen_spec -F scrape "$@"
}
function check {
cargo clippy -F scrape "$@"
}
function watch {
watchexec -e rs,toml -c --on-busy-update=do-nothing --no-meta -- ./x "$@"
}
if [[ $# == 0 ]]; then
list
exit 1
elif declare -f "$1" > /dev/null; then
"$@"
exit $?
else
echo "'$1' is not a known command"
list
exit 1
fi