content: [workspace]
  members = [
      "test-harness",
      "test-harness-macro",
  ]
  resolver = "2"
  
  # See: https://github.com/crate-ci/cargo-release/blob/master/docs/reference.md
  [workspace.metadata.release]
  # Set the commit message.
  pre-release-commit-message = "Release {{crate_name}} version {{version}}"
  consolidate-commits = false # One commit per crate.
  tag = false # Don't tag commits.
  push = false # Don't do `git push`.
  publish = false # Don't do `cargo publish`.
  
  # Define the root package: https://doc.rust-lang.org/cargo/reference/workspaces.html#root-package
  [package]
  name = "ghciwatch"
  version = "1.1.5"
  edition = "2021"
  authors = [
      "Rebecca Turner <rebeccat@mercury.com>"
  ]
  description = "Ghciwatch loads a GHCi session for a Haskell project and reloads it when source files change."
  readme = "README.md"
  homepage = "https://github.com/MercuryTechnologies/ghciwatch"
  repository = "https://github.com/MercuryTechnologies/ghciwatch"
  license = "MIT"
  keywords = ["haskell", "ghci", "compile", "watch", "notify"]
  categories = ["command-line-utilities", "development-tools"]
  
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  
  [features]
  clap-markdown = []
  
  [dependencies]
  aho-corasick = "1.0.2"
  ansi-to-tui = "4.0.1"
  async-dup = "1.2.4"
  backoff = { version = "0.4.0", default-features = false }
  camino = "1.1.4"
  # Clap 4.4 is the last version supporting Rust 1.72.
  clap = { version = "~4.4", features = ["derive", "wrap_help", "env", "string"] }
  clap_complete = "~4.4"
  clap_mangen = { version = "=0.2.19", optional = true }
  clearscreen = "2.0.1"
  command-group = { version = "2.1.0", features = ["tokio", "with-tokio"] }
  crossterm = { version = "0.27.0", features = ["event-stream"] }
  enum-iterator = "1.4.1"
  humantime = "2.3.0"
  ignore = "0.4.20"
  indoc = "1.0.6"
  itertools = "0.11.0"
  line-span = "0.1.5"
  miette = { version = "5.9.0", features = ["fancy"] }
  nix = { version = "0.26.2", default-features = false, features = ["process", "signal"] }
  notify-debouncer-full = "0.3.1"
  once_cell = "1.18.0"
  owo-colors = { version = "3.5.0", features = ["supports-colors"] }
  path-absolutize = "3.1.1"
  pathdiff = { version = "0.2.1", features = ["camino"] }
  ratatui = "=0.26.1" # 0.26.2 needs Rust 1.72.
  regex = { version = "1.9.3", default-features = false, features = ["perf", "std"] }
  saturating = "0.1.0"  # Needed until we have Rust 1.74.
  shell-words = "1.1.0"
  strip-ansi-escapes = "0.2.0"
  supports-color = "2.1.0"
  tap = "1.0.1"
  textwrap = { version = "0.16.0", features = ["terminal_size"] }
  tokio = { version = "1.28.2", features = ["full", "tracing"] }
  tokio-stream = { version = "0.1.14", default-features = false }
  tokio-util = { version = "0.7.10", features = ["compat", "io-util"] }
  tracing = "0.1.37"
  tracing-appender = "0.2.3"
  tracing-human-layer = "0.1.3"
  tracing-subscriber = { version = "0.3.17", features = ["env-filter", "time", "json", "registry"] }
  unindent = "0.2.3"
  winnow = "0.5.15"
  
  [dev-dependencies]
  test-harness = { path = "test-harness" }
  expect-test = "1.4.0"
  pretty_assertions = "1.2.1"
  tracing-test = { version = "0.2", features = ["no-env-filter"] }
  cargo-llvm-cov = "0.6.9"
  
  [lib]
  path = "src/lib.rs"
  
  [profile.release]
  codegen-units = 1
  lto = true
  