all: test docs

test:
  #!/usr/bin/env nu
  cargo nextest run

# Compile all documentation as in proposals and design documents, placing them under `docs/compiled`.
docs:
  #!/usr/bin/env nu
  glob **/*.typ --exclude [**/{template.typ,util/**}] | par-each { |source|
    typst compile $source --root=docs
    let pdf = (
      (echo $source | path dirname)
      | path join (echo $source | path basename | str replace ".typ" ".pdf")
    )
    mv $pdf docs/compiled
  } | ignore

fmt:
  #!/usr/bin/env nu
  cargo fmt
  echo "Places where whitespace is at the end of a line:"
  rg '\s$'