[package]
name = "fount"
version = "0.7.5"
authors = [
    "BeetleBot"
]
edition = "2024"
description = "A terminal-based Fountain screenplay editor (fork of coignard/lottie)"
license = "GPL-3.0-only"
homepage = "https://github.com/BeetleBot/Fount"
repository = "https://github.com/BeetleBot/Fount"

[package.metadata]
readme = "README.md"
keywords = ["screenwriting", "fountain", "tui", "editor"]
categories = ["text-editors", "command-line-utilities"]

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

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

[dependencies]
arboard = { version = "3", features = ["wayland-data-control"] }
ratatui = "0.29.0"
crossterm = { version = "0.28.1", features = ["event-stream"] }
unicode-width = "0.2.0"
regex = "1.12"
clap = { version = "4.5", features = ["derive"] }
directories = "6.0.0"
supports-unicode = "3.0.0"
supports-color = "3.0.2"
krilla = "0.7.0"
bitflags = "2"
unicode-properties = "0.1"
serde = { version = "1.0", features = ["derive"] }
toml = "0.8"
chrono = { version = "0.4", features = ["serde"] }
# rfd is removed for build performance

[dev-dependencies]
criterion = "0.5.1"
proptest = "1.5.0"
tempfile = "3"

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

[profile.release]
opt-level = "s"              # Optimize for size
lto = "thin"                 # Enable thin Link Time Optimization
codegen-units = 1            # Reduce parallel codegen units for better optimization
panic = "abort"              # Reduce binary size by avoiding stack unwinding
strip = true                 # Automatically strip symbols from the binary
