# 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"
rust-version = "1.95.0"
name = "aptu-coder-core"
version = "0.10.1"
authors = ["Hugues Clouatre"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-language AST analysis library using tree-sitter"
homepage = "https://github.com/clouatre-labs/aptu-coder"
readme = "README.md"
keywords = [
    "tree-sitter",
    "code-analysis",
    "ast",
    "parser",
    "static-analysis",
]
categories = [
    "development-tools",
    "parser-implementations",
]
license = "Apache-2.0"
repository = "https://github.com/clouatre-labs/aptu-coder"
resolver = "2"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = [
    "lang-rust",
    "lang-go",
    "lang-java",
    "lang-python",
    "lang-typescript",
    "lang-tsx",
    "lang-fortran",
    "lang-javascript",
    "lang-cpp",
    "lang-csharp",
]
lang-cpp = ["dep:tree-sitter-cpp"]
lang-csharp = ["dep:tree-sitter-c-sharp"]
lang-fortran = ["dep:tree-sitter-fortran"]
lang-go = ["dep:tree-sitter-go"]
lang-java = ["dep:tree-sitter-java"]
lang-javascript = ["dep:tree-sitter-javascript"]
lang-python = ["dep:tree-sitter-python"]
lang-rust = ["dep:tree-sitter-rust"]
lang-tsx = ["dep:tree-sitter-typescript"]
lang-typescript = ["dep:tree-sitter-typescript"]
schemars = ["dep:schemars"]

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

[[test]]
name = "acceptance_tests"
path = "tests/acceptance_tests.rs"

[[test]]
name = "idempotency"
path = "tests/idempotency.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "output_size"
path = "tests/output_size.rs"

[[test]]
name = "semantic_correctness"
path = "tests/semantic_correctness.rs"

[[test]]
name = "test_summary_no_pagination"
path = "tests/test_summary_no_pagination.rs"

[[test]]
name = "test_symbol_focus_summary"
path = "tests/test_symbol_focus_summary.rs"

[[bench]]
name = "analysis"
path = "benches/analysis.rs"
harness = false

[dependencies.base64]
version = "0.22"

[dependencies.ignore]
version = "0.4"

[dependencies.lru]
version = "0.18"

[dependencies.rayon]
version = "1"

[dependencies.schemars]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.tempfile]
version = "=3.27.0"

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio-util]
version = "0.7"

[dependencies.tracing]
version = "0.1"

[dependencies.tree-sitter]
version = "0.26.6"

[dependencies.tree-sitter-c-sharp]
version = "0.23.1"
optional = true

[dependencies.tree-sitter-cpp]
version = "0.23.4"
optional = true

[dependencies.tree-sitter-fortran]
version = "0.6.0"
optional = true

[dependencies.tree-sitter-go]
version = "0.25.0"
optional = true

[dependencies.tree-sitter-java]
version = "0.23.5"
optional = true

[dependencies.tree-sitter-javascript]
version = "0.25.0"
optional = true

[dependencies.tree-sitter-python]
version = "0.25.0"
optional = true

[dependencies.tree-sitter-rust]
version = "0.24.0"
optional = true

[dependencies.tree-sitter-typescript]
version = "0.23.2"
optional = true

[dev-dependencies.criterion]
version = "=0.8.2"
features = [
    "html_reports",
    "html_reports",
]

[dev-dependencies.schemars]
version = "1"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.tempfile]
version = "=3.27.0"

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "sync",
    "time",
    "fs",
    "process",
]

[dev-dependencies.tokio-util]
version = "0.7"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "registry",
]

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(coverage)",
    "cfg(coverage_nightly)",
]
