repoverlay 0.4.0

Overlay config files into git repositories without committing them
Documentation
[package]
name = "repoverlay"
version = "0.4.0"
edition = "2024"
rust-version = "1.90"
authors = ["Tyler Butler <tyler@tylerbutler.com>"]
description = "Overlay config files into git repositories without committing them"
license = "MIT"
repository = "https://github.com/tylerbutler/repoverlay"
homepage = "https://github.com/tylerbutler/repoverlay"
keywords = ["git", "overlay", "config", "symlink"]
categories = ["command-line-utilities", "development-tools"]

[lib]
name = "repoverlay"
path = "src/lib.rs"

[[bin]]
name = "repoverlay"
path = "src/main.rs"

[dependencies]
clap = { version = "4.5.56", features = ["derive"] }
clap_complete = "4.5"
clap-markdown = "0.1.5"
env_logger = "0.11"
log = "0.4"
serde = { version = "1.0.228", features = ["derive"] }
walkdir = "2.5.0"
chrono = { version = "0.4.43", features = ["serde"] }
thiserror = "2.0.18"
anyhow = "1.0.100"
colored = "3.1.1"
url = "2.5.8"
directories = "6.0.0"
dialoguer = "0.12.0"
crossterm = "0.29.0"
sickle = { version = "0.1.2", features = ["serde"] }
dirs = "6.0.0"
fuzzy-matcher = "0.3"
tiny-update-check = "1.0"

[build-dependencies]
vergen = { version = "9", features = ["build"] }

[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"

[profile.release]
strip = true
lto = true
codegen-units = 1
panic = "abort"

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"

# Enables the `cargo build --profile profiling` command
[profile.profiling]
inherits = "release"
debug = true

# Profile for cargo-bloated analysis (requires panic=unwind)
[profile.bloat]
inherits = "release"
panic = "unwind"

[lints.rust]
unsafe_code = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
# Allow some pedantic lints that are too noisy
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
similar_names = "allow"
too_many_lines = "allow"
cognitive_complexity = "allow"
significant_drop_tightening = "allow"