{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "shell",
      "command": "cargo build",
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": "$rustc"
    },
    {
      "label": "test",
      "type": "shell",
      "command": "cargo test",
      "group": {
        "kind": "test",
        "isDefault": true
      },
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": "$rustc"
    },
    {
      "label": "test (single)",
      "type": "shell",
      "command": "cargo test ${input:testName}",
      "group": "test",
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": "$rustc"
    },
    {
      "label": "clippy",
      "type": "shell",
      "command": "cargo clippy --all-targets --all-features",
      "group": "build",
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": "$rustc"
    },
    {
      "label": "fmt check",
      "type": "shell",
      "command": "cargo fmt --check --verbose",
      "group": "build",
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": []
    },
    {
      "label": "fmt",
      "type": "shell",
      "command": "cargo fmt",
      "group": "build",
      "presentation": {
        "reveal": "silent",
        "panel": "shared"
      },
      "problemMatcher": []
    },
    {
      "label": "coverage",
      "type": "shell",
      "command": "cargo tarpaulin --out XML",
      "group": "test",
      "presentation": {
        "reveal": "always",
        "panel": "shared"
      },
      "problemMatcher": []
    },
    {
      "label": "example: auth0",
      "type": "shell",
      "command": "cargo run --example auth0",
      "group": "none",
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      },
      "problemMatcher": "$rustc"
    },
    {
      "label": "example: youtube",
      "type": "shell",
      "command": "cargo run --example youtube",
      "group": "none",
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      },
      "problemMatcher": "$rustc"
    }
  ],
  "inputs": [
    {
      "id": "testName",
      "type": "promptString",
      "description": "Test name (or partial name) to run"
    }
  ]
}
