[package]
name = "rgx-cli"
version = "0.14.0"
edition = "2021"
rust-version = "1.74"
authors = ["rgx contributors"]
description = "A terminal regex tester with real-time matching, multi-engine support, and plain-English explanations"
documentation = "https://github.com/brevity1swos/rgx"
homepage = "https://github.com/brevity1swos/rgx"
repository = "https://github.com/brevity1swos/rgx"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["regex", "tui", "terminal", "cli", "developer-tools"]
categories = ["command-line-utilities", "text-processing", "development-tools"]

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

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

[features]
default = []
pcre2-engine = ["dep:pcre2", "dep:pcre2-sys"]

[dependencies]
arboard = "3"
ratatui = "0.30"
crossterm = { version = "0.29", features = ["event-stream"] }
tokio = { version = "1", features = ["full"] }
regex = "1"
regex-syntax = "0.8"
fancy-regex = "0.17"
grex = "1"
pcre2 = { version = "0.2", optional = true }
pcre2-sys = { version = "0.2", optional = true }
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
serde_json = "1"
serde = { version = "1", features = ["derive"] }
toml = "1.0"
dirs = "6"
unicode-width = "0.2"
anyhow = "1"
tokio-stream = "0.1"

[dev-dependencies]
insta = "1"
tempfile = "3"
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "engine_bench"
harness = false

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

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

# Config for 'dist'
[workspace.metadata.dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.30.4"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "powershell", "homebrew"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# Path that installers should place binaries in
install-path = "CARGO_HOME"
# Whether to install an updater program
install-updater = false
# Homebrew tap repository for formula publishing
tap = "brevity1swos/homebrew-tap"
# Allow custom CI workflow (we use release-plz for releases, not cargo-dist)
allow-dirty = ["ci"]
