mirror of
https://github.com/tree-sitter/tree-sitter.git
synced 2026-09-10 07:36:22 -04:00
This is optional for the 2021 but required for 2024. The function is unsafe either way and should be marked as such.
165 lines
4.3 KiB
TOML
165 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.27.0"
|
|
authors = [
|
|
"Max Brunsfeld <maxbrunsfeld@gmail.com>",
|
|
"Amaan Qureshi <amaanq12@gmail.com>",
|
|
]
|
|
edition = "2021"
|
|
rust-version = "1.85"
|
|
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"
|
|
deprecated_safe_2024 = "deny"
|
|
|
|
[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.54"
|
|
clap = { version = "4.5.54", features = [
|
|
"cargo",
|
|
"derive",
|
|
"env",
|
|
"help",
|
|
"string",
|
|
"unstable-styles",
|
|
] }
|
|
clap_complete = "4.5.65"
|
|
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.149", features = ["preserve_order"] }
|
|
similar = "2.7.0"
|
|
smallbitvec = "2.6.0"
|
|
streaming-iterator = "0.1.9"
|
|
tempfile = "3.23.0"
|
|
thiserror = "2.0.18"
|
|
tiny_http = "0.12.0"
|
|
topological-sort = "0.2.2"
|
|
unindent = "0.2.4"
|
|
walkdir = "2.5.0"
|
|
wasmparser = "0.243.0"
|
|
webbrowser = "1.0.5"
|
|
|
|
tree-sitter = { version = "0.27.0", path = "./lib" }
|
|
tree-sitter-generate = { version = "0.27.0", path = "./crates/generate" }
|
|
tree-sitter-loader = { version = "0.27.0", path = "./crates/loader" }
|
|
tree-sitter-config = { version = "0.27.0", path = "./crates/config" }
|
|
tree-sitter-highlight = { version = "0.27.0", path = "./crates/highlight" }
|
|
tree-sitter-tags = { version = "0.27.0", path = "./crates/tags" }
|
|
|
|
tree-sitter-language = { version = "0.1", path = "./crates/language" }
|