[package]
edition = "2021"
name = "sem-core"
version = "0.6.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Entity-level semantic diff engine. Extracts functions, classes, and methods from 20 languages via tree-sitter and diffs at the entity level."
homepage = "https://github.com/Ataraxy-Labs/sem"
readme = "README.md"
keywords = [
"diff",
"semantic",
"tree-sitter",
"ast",
"code-analysis",
]
categories = [
"development-tools",
"parser-implementations",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Ataraxy-Labs/sem"
[features]
default = [
"git",
"parallel",
"grammar-all",
]
git = ["dep:git2"]
grammar-all = [
"grammar-core",
"lang-c",
"lang-cpp",
"lang-ruby",
"lang-csharp",
"lang-php",
"lang-fortran",
"lang-swift",
"lang-elixir",
"lang-bash",
"lang-hcl",
"lang-kotlin",
"lang-xml",
"lang-dart",
"lang-perl",
"lang-ocaml",
"lang-scala",
"lang-zig",
"lang-nix",
"lang-svelte",
"lang-erb",
]
grammar-core = [
"lang-typescript",
"lang-javascript",
"lang-python",
"lang-go",
"lang-rust",
"lang-java",
]
lang-bash = ["dep:tree-sitter-bash"]
lang-c = ["dep:tree-sitter-c"]
lang-cpp = ["dep:tree-sitter-cpp"]
lang-csharp = ["dep:tree-sitter-c-sharp"]
lang-dart = ["dep:tree-sitter-dart"]
lang-elixir = ["dep:tree-sitter-elixir"]
lang-erb = ["dep:tree-sitter-embedded-template"]
lang-fortran = ["dep:tree-sitter-fortran"]
lang-go = ["dep:tree-sitter-go"]
lang-hcl = ["dep:tree-sitter-hcl"]
lang-java = ["dep:tree-sitter-java"]
lang-javascript = ["dep:tree-sitter-javascript"]
lang-kotlin = ["dep:tree-sitter-kotlin-ng"]
lang-nix = ["dep:tree-sitter-nix"]
lang-ocaml = ["dep:tree-sitter-ocaml"]
lang-perl = ["dep:tree-sitter-perl-next"]
lang-php = ["dep:tree-sitter-php"]
lang-python = ["dep:tree-sitter-python"]
lang-ruby = ["dep:tree-sitter-ruby"]
lang-rust = ["dep:tree-sitter-rust"]
lang-scala = ["dep:tree-sitter-scala"]
lang-svelte = ["dep:tree-sitter-htmlx-svelte"]
lang-swift = ["dep:tree-sitter-swift"]
lang-typescript = ["dep:tree-sitter-typescript"]
lang-xml = ["dep:tree-sitter-xml"]
lang-zig = ["dep:tree-sitter-zig"]
parallel = ["dep:rayon"]
wasm = []
[lib]
name = "sem_core"
path = "src/lib.rs"
[[test]]
name = "graph_accuracy"
path = "tests/graph_accuracy.rs"
[[test]]
name = "scope_resolve_bench"
path = "tests/scope_resolve_bench.rs"
[[test]]
name = "verify_bench"
path = "tests/verify_bench.rs"
[dependencies.git2]
version = "0.20"
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.regex]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "0.8"
[dependencies.tree-sitter]
version = "0.26"
[dependencies.tree-sitter-bash]
version = "0.23"
optional = true
[dependencies.tree-sitter-c]
version = "0.23"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "0.23"
optional = true
[dependencies.tree-sitter-cpp]
version = "0.23"
optional = true
[dependencies.tree-sitter-dart]
version = "0.2.0"
optional = true
[dependencies.tree-sitter-elixir]
version = "0.3"
optional = true
[dependencies.tree-sitter-embedded-template]
version = "0.25"
optional = true
[dependencies.tree-sitter-fortran]
version = "0.5"
optional = true
[dependencies.tree-sitter-go]
version = "0.23"
optional = true
[dependencies.tree-sitter-hcl]
version = "1.1"
optional = true
[dependencies.tree-sitter-htmlx-svelte]
version = "0.1.7"
optional = true
[dependencies.tree-sitter-java]
version = "0.23"
optional = true
[dependencies.tree-sitter-javascript]
version = "0.23"
optional = true
[dependencies.tree-sitter-kotlin-ng]
version = "1.1"
optional = true
[dependencies.tree-sitter-nix]
version = "0.3"
optional = true
[dependencies.tree-sitter-ocaml]
version = "0.24"
optional = true
[dependencies.tree-sitter-perl-next]
version = "0.1"
optional = true
[dependencies.tree-sitter-php]
version = "0.23"
optional = true
[dependencies.tree-sitter-python]
version = "0.23"
optional = true
[dependencies.tree-sitter-ruby]
version = "0.23"
optional = true
[dependencies.tree-sitter-rust]
version = "0.23"
optional = true
[dependencies.tree-sitter-scala]
version = "0.26"
optional = true
[dependencies.tree-sitter-swift]
version = "0.7"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dependencies.tree-sitter-xml]
version = "0.7"
optional = true
[dependencies.tree-sitter-zig]
version = "1.1.2"
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.tempfile]
version = "3.24.0"