[package]
name = "ruff_python_formatter"
version = "0.0.0"
publish = false
authors = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
homepage = { workspace = true }
documentation = { workspace = true }
repository = { workspace = true }
license = { workspace = true }

[lib]
doctest= false

[dependencies]
ruff_cache = { path = "../ruff_cache" }
ruff_formatter = { path = "../ruff_formatter" }
ruff_macros = { path = "../ruff_macros" }
ruff_python_trivia = { path = "../ruff_python_trivia" }
ruff_source_file = { path = "../ruff_source_file" }
ruff_python_ast = { path = "../ruff_python_ast" }
ruff_python_index = { path = "../ruff_python_index" }
ruff_python_parser = { path = "../ruff_python_parser" }
ruff_text_size = { path = "../ruff_text_size" }

anyhow = { workspace = true }
clap = { workspace = true }
countme = { workspace = true }
itertools = { workspace = true }
memchr = { workspace = true }
once_cell = { workspace = true }
regex = { workspace = true }
rustc-hash = { workspace = true }
serde = { workspace = true, optional = true }
schemars = { workspace = true, optional = true }
smallvec = { workspace = true }
static_assertions = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
unicode-width = { workspace = true }

[dev-dependencies]
ruff_formatter = { path = "../ruff_formatter" }

insta = { workspace = true, features = ["glob"] }
regex = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
similar = { workspace = true }

[[test]]
name = "ruff_python_formatter_fixtures"
path = "tests/fixtures.rs"
test = true
required-features = ["serde"]

[features]
default = ["serde"]
serde = ["dep:serde", "ruff_formatter/serde", "ruff_source_file/serde", "ruff_python_ast/serde"]
schemars = ["dep:schemars", "ruff_formatter/schemars"]

[lints]
workspace = true
