# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "cgrammar"
version = "0.7.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A comprehensive C language grammar parser library written in Rust, implementing the C23 standard (ISO/IEC 9899:2023)."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/Wybxc/cgrammar"

[features]
dbg-pls = ["dep:dbg-pls"]
printer = ["dep:elegance"]
quasi-quote = [
    "dep:dyn-clone",
    "dep:dyn-eq",
]

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

[[example]]
name = "ast_dump"
path = "examples/ast_dump.rs"

[[example]]
name = "custom_attribute"
path = "examples/custom_attribute.rs"

[[example]]
name = "pretty_printer"
path = "examples/pretty_printer.rs"

[[example]]
name = "quasi-quote"
path = "examples/quasi-quote.rs"

[[example]]
name = "shrink_test_case"
path = "examples/shrink_test_case.rs"

[[test]]
name = "error-recovery"
path = "tests/error-recovery.rs"

[[test]]
name = "parse-test"
path = "tests/parse-test.rs"

[[test]]
name = "printer-test"
path = "tests/printer-test.rs"

[[test]]
name = "quasi-quote"
path = "tests/quasi-quote.rs"

[[test]]
name = "visitor-test"
path = "tests/visitor-test.rs"

[dependencies.chumsky]
version = "0.12.0"
features = [
    "extension",
    "pratt",
    "regex",
]

[dependencies.dbg-pls]
version = "0.4.3"
features = [
    "derive",
    "pretty",
]
optional = true

[dependencies.derive_more]
version = "2.1.1"
features = [
    "index",
    "index_mut",
]

[dependencies.dyn-clone]
version = "1.0.20"
optional = true

[dependencies.dyn-eq]
version = "0.1.3"
optional = true

[dependencies.elegance]
version = "0.4.0"
optional = true

[dependencies.hexf-parse]
version = "0.2.1"

[dependencies.macro_rules_attribute]
version = "0.2.2"

[dependencies.ordered-float]
version = "5.1.0"

[dependencies.rustc-hash]
version = "2.1.1"

[dev-dependencies.pathdiff]
version = "0.2.3"

[dev-dependencies.pretty_assertions]
version = "1.4.1"

[dev-dependencies.rstest]
version = "0.26.1"
