[package]
name = "css_lexer"
version.workspace = true
authors.workspace = true
description = "A spec-compliant CSS tokenizer with zero-copy cursors and optional feature gates."
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
exclude = ["tests/*", "bench/*"]
[lib]
bench = false
[dependencies]
allocator-api2 = { workspace = true }
bumpalo = { workspace = true, features = [
"boxed",
"collections",
"allocator-api2",
], optional = true }
bitmask-enum = { workspace = true }
derive_atom_set = { workspace = true }
fnv = { workspace = true, optional = true }
miette = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
serde_json = { workspace = true, optional = true }
[dev-dependencies]
glob = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
criterion = { workspace = true, features = ["html_reports"] }
insta = { workspace = true, features = ["ron"] }
similar = { workspace = true }
console = { workspace = true }
dhat = { workspace = true }
[target.'cfg(target_family = "unix")'.dev-dependencies]
pprof = { workspace = true, features = ["flamegraph", "criterion"] }
[features]
default = []
miette = ["dep:miette"]
bumpalo = ["dep:bumpalo"]
serde = ["dep:serde", "dep:serde_json", "bumpalo/serde", "miette/serde"]
dynamic-atoms = ["dep:fnv"]
_dhat-heap-testing = []
[[bench]]
name = "lex_popular"
harness = false