[workspace]
members = [".", "crates/improvise-formula"]

[package]
name = "improvise"
version = "0.1.0-rc2"
edition = "2024"
description = "Terminal pivot-table modeling in the spirit of Lotus Improv"
license = "Apache-2.0"
repository = "https://github.com/fiddlerwoaroof/improvise"
homepage = "https://github.com/fiddlerwoaroof/improvise"
readme = "README.md"
keywords = ["tui", "pivot", "spreadsheet", "data", "improv"]
categories = ["command-line-utilities", "visualization"]

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

[dependencies]
improvise-formula = { path = "crates/improvise-formula" }
ratatui = "0.30"
crossterm = "0.29"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
thiserror = "2"
indexmap = { version = "2", features = ["serde"] }
chrono = { version = "0.4", features = ["serde"] }
flate2 = "1"
unicode-width = "^0.2"
dirs = "6"
csv = "1"
clap = { version = "4.6.0", features = ["derive"] }
enum_dispatch = "0.3.13"
pest = "2.8.6"
pest_derive = "2.8.6"

[dev-dependencies]
pest = "2.8.6"
pest_derive = "2.8.6"
pest_meta = "2.8.6"
proptest = "1"
tempfile = "3"

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

[profile.profiling]
inherits = "release"
strip = false
debug = 2

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