[tasks.lint-format]
description = "Check that the code is formatted correctly"
install_crate = "rustfmt"
command = "cargo"
args = ["fmt", "--all", "--check"]
[tasks.lint-typos]
description = "Check for typos"
install_crate = { crate_name = "typos-cli", binary = "typos", test_arg = "--version" }
command = "typos"
[tasks.clippy]
description = "Run clippy"
command = "cargo"
args = ["clippy", "--all-targets", "--all-features"]
[tasks.clippy-json]
description = "Run clippy with JSON output"
command = "cargo"
args = ["clippy", "--all-targets", "--all-features", "--message-format=json"]
[tasks.coverage]
description = "Calculate test coverage"
alias = "tarpaulin"
[tasks.tarpaulin]
description = "Calculate test coverage using tarpaulin"
install_crate = "cargo-tarpaulin"
command = "cargo"
args = ["tarpaulin", "--out", "Html", "--all-features", "--all-targets", "--output-dir", "coverage"]
[tasks.test]
description = "Run all tests"
command = "cargo"
args = ["test"]
[tasks.check]
description = "Check for warnings and errors"
command = "cargo"
args = ["check"]
[tasks.ci]
description = "Run all CI tasks"
dependencies = ["lint-format", "lint-typos", "clippy", "test", "check"]