as "0.1" If a rust project depends on both the tree-sitter lib bindings and the language crate, cargo needs to be able to resolve a common version of the tree-sitter-language crate. Specifying exactly "0.1.5" for the lib bindings is overly restrictive, and could lead to future headaches. By specifying "0.1", any "0.1.x" version should be available to resolve to.
163 lines
4.3 KiB
TOML
163 lines
4.3 KiB
TOML
[workspace]
|
|
default-members = ["crates/cli"]
|
|
members = [
|
|
"crates/cli",
|
|
"crates/config",
|
|
"crates/generate",
|
|
"crates/highlight",
|
|
"crates/loader",
|
|
"crates/tags",
|
|
"crates/xtask",
|
|
"crates/language",
|
|
"lib",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.26.0"
|
|
authors = [
|
|
"Max Brunsfeld <maxbrunsfeld@gmail.com>",
|
|
"Amaan Qureshi <amaanq12@gmail.com>",
|
|
]
|
|
edition = "2021"
|
|
rust-version = "1.84"
|
|
homepage = "https://tree-sitter.github.io/tree-sitter"
|
|
repository = "https://github.com/tree-sitter/tree-sitter"
|
|
license = "MIT"
|
|
keywords = ["incremental", "parsing"]
|
|
categories = ["command-line-utilities", "parsing"]
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "deny"
|
|
todo = "deny"
|
|
pedantic = { level = "warn", priority = -1 }
|
|
nursery = { level = "warn", priority = -1 }
|
|
cargo = { level = "warn", priority = -1 }
|
|
|
|
# The lints below are a specific subset of the pedantic+nursery lints
|
|
# that we explicitly allow in the tree-sitter codebase because they either:
|
|
#
|
|
# 1. Contain false positives,
|
|
# 2. Are unnecessary, or
|
|
# 3. Worsen the code
|
|
|
|
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"
|
|
fallible_impl_from = "allow"
|
|
fn_params_excessive_bools = "allow"
|
|
inline_always = "allow"
|
|
if_not_else = "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"
|
|
transmute_undefined_repr = "allow"
|
|
too_many_lines = "allow"
|
|
unnecessary_wraps = "allow"
|
|
unused_self = "allow"
|
|
used_underscore_items = "allow"
|
|
|
|
[workspace.lints.rust]
|
|
mismatched_lifetime_syntaxes = "allow"
|
|
|
|
[profile.optimize]
|
|
inherits = "release"
|
|
strip = true # Automatically strip symbols from the binary.
|
|
lto = true # Link-time optimization.
|
|
opt-level = 3 # Optimization level 3.
|
|
codegen-units = 1 # Maximum size reduction optimizations.
|
|
|
|
[profile.size]
|
|
inherits = "optimize"
|
|
opt-level = "s" # Optimize for size.
|
|
|
|
[profile.release-dev]
|
|
inherits = "release"
|
|
lto = false
|
|
debug = true
|
|
debug-assertions = true
|
|
overflow-checks = true
|
|
incremental = true
|
|
codegen-units = 256
|
|
|
|
[workspace.dependencies]
|
|
ansi_colours = "1.2.3"
|
|
anstyle = "1.0.13"
|
|
anyhow = "1.0.100"
|
|
bstr = "1.12.0"
|
|
cc = "1.2.48"
|
|
clap = { version = "4.5.53", features = [
|
|
"cargo",
|
|
"derive",
|
|
"env",
|
|
"help",
|
|
"string",
|
|
"unstable-styles",
|
|
] }
|
|
clap_complete = "4.5.61"
|
|
clap_complete_nushell = "4.5.10"
|
|
crc32fast = "1.5.0"
|
|
ctor = "0.2.9"
|
|
ctrlc = { version = "3.5.0", features = ["termination"] }
|
|
dialoguer = { version = "0.11.0", features = ["fuzzy-select"] }
|
|
etcetera = "0.11.0"
|
|
fs4 = "0.12.0"
|
|
glob = "0.3.3"
|
|
heck = "0.5.0"
|
|
html-escape = "0.2.13"
|
|
indexmap = "2.12.1"
|
|
indoc = "2.0.6"
|
|
libloading = "0.9.0"
|
|
log = { version = "0.4.28", features = ["std"] }
|
|
memchr = "2.7.6"
|
|
once_cell = "1.21.3"
|
|
pretty_assertions = "1.4.1"
|
|
rand = "0.8.5"
|
|
regex = "1.11.3"
|
|
regex-syntax = "0.8.6"
|
|
rustc-hash = "2.1.1"
|
|
schemars = "1.0.5"
|
|
semver = { version = "1.0.27", features = ["serde"] }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_json = { version = "1.0.145", features = ["preserve_order"] }
|
|
similar = "2.7.0"
|
|
smallbitvec = "2.6.0"
|
|
streaming-iterator = "0.1.9"
|
|
tempfile = "3.23.0"
|
|
thiserror = "2.0.17"
|
|
tiny_http = "0.12.0"
|
|
topological-sort = "0.2.2"
|
|
unindent = "0.2.4"
|
|
walkdir = "2.5.0"
|
|
wasmparser = "0.242.0"
|
|
webbrowser = "1.0.5"
|
|
|
|
tree-sitter = { version = "0.26.0", path = "./lib" }
|
|
tree-sitter-generate = { version = "0.26.0", path = "./crates/generate" }
|
|
tree-sitter-loader = { version = "0.26.0", path = "./crates/loader" }
|
|
tree-sitter-config = { version = "0.26.0", path = "./crates/config" }
|
|
tree-sitter-highlight = { version = "0.26.0", path = "./crates/highlight" }
|
|
tree-sitter-tags = { version = "0.26.0", path = "./crates/tags" }
|
|
|
|
tree-sitter-language = { version = "0.1", path = "./crates/language" }
|