# See also .cargo/config

[package]
name = "riffdiff"  # Actually "riff", but that was already taken on crates.io
version = "2.23.2"
authors = ["Johan Walles <johan.walles@gmail.com>"]
edition = "2018"
repository = "https://github.com/walles/riff/"
homepage = "https://github.com/walles/riff/#readme"
documentation = "https://github.com/walles/riff/#readme"
readme = "README.md"
license = "MIT"
description = "A diff filter highlighting changed line parts"
keywords = ["diff", "git"]
categories = ["command-line-utilities"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

# Set binary name to "riff", even though the package is called "riffdiff" (see
# above).
#
# Ref:
# https://egghead.io/lessons/rust-rename-the-default-cargo-binary-to-be-different-than-the-package-name
[[bin]]
name = "riff"
path = "src/main.rs"

[dependencies]
diffus = "0.10.0"
regex = "1"
lazy_static = "1.4.0"
atty = "0.2.14"
git-version = "0.3.4"
backtrace = "0.3"
bytecount = "0.6.2"
num_cpus = "1.13.0"
threadpool = "1.8.1"
itertools = "0.10.1"

[dev-dependencies]
pretty_assertions = "0.6.1"
tempfile = "3.4.0"

# See: https://doc.rust-lang.org/cargo/reference/profiles.html
[profile.release]
debug = 1  # 1 = Line number information only

# Benchmark execution times with different lto settings (lower is better):
# "off" : 67.5ms
# "thin": 40ms
# "fat" : 38.5ms
#
# Let's go with thin which is fast at building but still provides good
# performance.
lto = "thin"

# See: https://doc.rust-lang.org/cargo/reference/profiles.html
# Configure dependencies of the release profile
[profile.release.package."*"]
debug = 0  # 0 = No debug info
