[package]
edition = "2021"
rust-version = "1.77"
name = "tree-sitter"
version = "0.26.8"
authors = [
"Max Brunsfeld <maxbrunsfeld@gmail.com>",
"Amaan Qureshi <amaanq12@gmail.com>",
]
build = "binding_rust/build.rs"
links = "tree-sitter"
include = [
"/binding_rust/*",
"/Cargo.toml",
"/src/*.h",
"/src/*.c",
"/src/portable/*",
"/src/unicode/*",
"/src/wasm/*",
"/include/tree_sitter/api.h",
"/LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust bindings to the Tree-sitter parsing library"
homepage = "https://tree-sitter.github.io/tree-sitter"
documentation = "https://docs.rs/tree-sitter"
readme = "binding_rust/README.md"
keywords = [
"incremental",
"parsing",
]
categories = [
"api-bindings",
"external-ffi-bindings",
"parsing",
"text-editors",
]
license = "MIT"
repository = "https://github.com/tree-sitter/tree-sitter"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-pc-windows-gnu",
]
[features]
default = ["std"]
std = [
"regex/std",
"regex/perf",
"regex-syntax/unicode",
]
wasm = [
"std",
"wasmtime-c-api",
]
[lib]
name = "tree_sitter"
path = "binding_rust/lib.rs"
[dependencies.regex]
version = "1.11.3"
features = ["unicode"]
default-features = false
[dependencies.regex-syntax]
version = "0.8.6"
default-features = false
[dependencies.streaming-iterator]
version = "0.1.9"
[dependencies.tree-sitter-language]
version = "0.1"
[dependencies.wasmtime-c-api]
version = "36.0.6"
features = [
"cranelift",
"gc-drc",
]
optional = true
default-features = false
package = "wasmtime-c-api-impl"
[build-dependencies.bindgen]
version = "0.72.0"
optional = true
[build-dependencies.cc]
version = "1.2.48"
[build-dependencies.serde_json]
version = "1.0.145"
features = ["preserve_order"]
[lints.clippy]
branches_sharing_code = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
checked_conversions = "allow"
cognitive_complexity = "allow"
collection_is_never_read = "allow"
dbg_macro = "deny"
fallible_impl_from = "allow"
fn_params_excessive_bools = "allow"
if_not_else = "allow"
inline_always = "allow"
items_after_statements = "allow"
match_wildcard_for_single_variants = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
needless_for_each = "allow"
obfuscated_if_else = "allow"
option_if_let_else = "allow"
or_fun_call = "allow"
range_plus_one = "allow"
redundant_clone = "allow"
redundant_closure_for_method_calls = "allow"
ref_option = "allow"
similar_names = "allow"
string_lit_as_bytes = "allow"
struct_excessive_bools = "allow"
struct_field_names = "allow"
todo = "deny"
too_many_lines = "allow"
transmute_undefined_repr = "allow"
unnecessary_wraps = "allow"
unused_self = "allow"
used_underscore_items = "allow"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
mismatched_lifetime_syntaxes = "allow"