[package]
edition = "2024"
rust-version = "1.88"
name = "diffs-rs"
version = "0.1.1"
build = "build.rs"
include = [
"/src/**/*.rs",
"/build.rs",
"/assets/pierre/**",
"/examples/embedded_viewer.rs",
"/Cargo.toml",
"/Cargo.lock",
"/README.md",
"/CHANGELOG.md",
"/docs/embedding.md",
"/LICENSE",
"/NOTICE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast terminal diff viewer and embeddable Rust diff engine"
readme = "README.md"
keywords = [
"diff",
"patch",
"terminal",
"tui",
"ratatui",
]
categories = [
"command-line-utilities",
"development-tools",
"text-processing",
]
license = "Apache-2.0"
repository = "https://github.com/plannotator/diffs-rs"
[features]
clipboard = ["dep:arboard"]
default = [
"clipboard",
"dev-tty",
]
delivery-trace = ["syntect/syntax-timing"]
dev-tty = ["crossterm/use-dev-tty"]
owner-census = [
"regex-census",
"syntect/owner-census",
]
regex-census = ["syntect/regex-census"]
[lib]
name = "diffs_rs"
path = "src/lib.rs"
[[bin]]
name = "diffs"
path = "src/main.rs"
[[example]]
name = "embedded_viewer"
path = "examples/embedded_viewer.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.clap]
version = "4.6"
features = ["derive"]
[dependencies.crossterm]
version = "0.29"
[dependencies.git2]
version = "0.21"
features = ["vendored-libgit2"]
default-features = false
[dependencies.hashbrown]
version = "0.16.1"
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.memchr]
version = "2.8"
[dependencies.nix]
version = "0.28"
features = [
"fs",
"poll",
]
default-features = false
[dependencies.palette]
version = "0.7"
[dependencies.ratatui]
version = "0.30.2"
features = ["crossterm"]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.signal-hook]
version = "0.3"
[dependencies.similar]
version = "3.2"
[dependencies.syntect]
version = "0.1.0"
features = [
"default-fancy",
"shared-engines",
]
default-features = false
package = "diffs-syntect"
[dependencies.tempfile]
version = "3"
[dependencies.two-face]
version = "0.1.0"
features = ["syntect-fancy"]
default-features = false
package = "diffs-two-face"
[dependencies.unicode-segmentation]
version = "1.13"
[dependencies.unicode-width]
version = "0.2"
[dev-dependencies.fancy-regex]
version = "0.1.0"
package = "diffs-fancy-regex"
[dev-dependencies.portable-pty]
version = "0.9"
[dev-dependencies.vt100]
version = "0.16"
[target.'cfg(target_os = "macos")'.dependencies.arboard]
version = "3.6.1"
optional = true
default-features = false
[lints.clippy]
all = "warn"
[lints.rust]
unsafe_code = "forbid"
[profile.release]
lto = "thin"
codegen-units = 1