2019-01-04 16:50:52 -08:00
|
|
|
[workspace]
|
2025-06-06 14:25:37 -07:00
|
|
|
default-members = ["crates/cli"]
|
2024-02-22 18:40:41 -05:00
|
|
|
members = [
|
2025-06-06 14:25:37 -07:00
|
|
|
"crates/cli",
|
|
|
|
|
"crates/config",
|
|
|
|
|
"crates/generate",
|
|
|
|
|
"crates/highlight",
|
|
|
|
|
"crates/loader",
|
|
|
|
|
"crates/tags",
|
|
|
|
|
"crates/xtask",
|
|
|
|
|
"crates/language",
|
2024-02-22 18:40:41 -05:00
|
|
|
"lib",
|
|
|
|
|
]
|
2023-04-04 02:41:42 +03:00
|
|
|
resolver = "2"
|
|
|
|
|
|
|
|
|
|
[workspace.package]
|
2025-09-24 16:26:37 -04:00
|
|
|
version = "0.26.0"
|
2025-01-31 20:42:30 -05:00
|
|
|
authors = [
|
|
|
|
|
"Max Brunsfeld <maxbrunsfeld@gmail.com>",
|
|
|
|
|
"Amaan Qureshi <amaanq12@gmail.com>",
|
|
|
|
|
]
|
2024-02-14 14:10:51 -05:00
|
|
|
edition = "2021"
|
2025-08-20 12:48:05 +03:00
|
|
|
rust-version = "1.84"
|
2024-02-14 14:10:51 -05:00
|
|
|
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"]
|
2023-01-15 03:07:53 +02:00
|
|
|
|
2024-10-06 13:42:14 -04:00
|
|
|
[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"
|
2025-07-04 16:18:42 -04:00
|
|
|
needless_for_each = "allow"
|
|
|
|
|
obfuscated_if_else = "allow"
|
2024-10-06 13:42:14 -04:00
|
|
|
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"
|
|
|
|
|
|
2025-08-07 18:38:05 -04:00
|
|
|
[workspace.lints.rust]
|
|
|
|
|
mismatched_lifetime_syntaxes = "allow"
|
|
|
|
|
|
2023-11-28 05:14:36 +02:00
|
|
|
[profile.optimize]
|
|
|
|
|
inherits = "release"
|
2024-02-08 06:43:21 -05:00
|
|
|
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.
|
2023-08-14 14:12:45 -04:00
|
|
|
|
|
|
|
|
[profile.size]
|
2023-11-28 05:14:36 +02:00
|
|
|
inherits = "optimize"
|
2024-02-08 06:43:21 -05:00
|
|
|
opt-level = "s" # Optimize for size.
|
2023-09-21 00:52:50 -04:00
|
|
|
|
2024-09-27 20:55:44 -04:00
|
|
|
[profile.release-dev]
|
|
|
|
|
inherits = "release"
|
|
|
|
|
lto = false
|
|
|
|
|
debug = true
|
|
|
|
|
debug-assertions = true
|
|
|
|
|
overflow-checks = true
|
|
|
|
|
incremental = true
|
|
|
|
|
codegen-units = 256
|
2024-02-08 06:43:21 -05:00
|
|
|
|
|
|
|
|
[workspace.dependencies]
|
2025-01-25 16:14:53 -05:00
|
|
|
ansi_colours = "1.2.3"
|
2025-10-13 21:09:27 +00:00
|
|
|
anstyle = "1.0.13"
|
2025-09-28 08:18:33 +00:00
|
|
|
anyhow = "1.0.100"
|
2025-04-14 21:37:51 +00:00
|
|
|
bstr = "1.12.0"
|
2025-12-02 00:00:10 +00:00
|
|
|
cc = "1.2.48"
|
2025-11-24 21:19:40 +00:00
|
|
|
clap = { version = "4.5.53", features = [
|
2024-02-07 09:30:24 -05:00
|
|
|
"cargo",
|
|
|
|
|
"derive",
|
|
|
|
|
"env",
|
|
|
|
|
"help",
|
2025-07-29 01:19:21 -04:00
|
|
|
"string",
|
2024-02-07 09:30:24 -05:00
|
|
|
"unstable-styles",
|
2024-02-08 06:43:21 -05:00
|
|
|
] }
|
2025-11-24 21:19:40 +00:00
|
|
|
clap_complete = "4.5.61"
|
2025-11-04 09:37:58 +00:00
|
|
|
clap_complete_nushell = "4.5.10"
|
2025-09-25 21:24:39 +03:00
|
|
|
crc32fast = "1.5.0"
|
2024-12-03 16:41:38 -05:00
|
|
|
ctor = "0.2.9"
|
2025-09-08 21:17:31 +00:00
|
|
|
ctrlc = { version = "3.5.0", features = ["termination"] }
|
2024-09-30 11:11:23 -04:00
|
|
|
dialoguer = { version = "0.11.0", features = ["fuzzy-select"] }
|
2025-11-04 09:37:58 +00:00
|
|
|
etcetera = "0.11.0"
|
2024-12-16 00:48:20 -05:00
|
|
|
fs4 = "0.12.0"
|
2025-08-12 05:02:51 +00:00
|
|
|
glob = "0.3.3"
|
2024-03-18 21:26:02 +00:00
|
|
|
heck = "0.5.0"
|
2024-02-08 06:43:21 -05:00
|
|
|
html-escape = "0.2.13"
|
2025-11-24 21:19:40 +00:00
|
|
|
indexmap = "2.12.1"
|
2025-03-12 13:56:43 +00:00
|
|
|
indoc = "2.0.6"
|
2025-11-10 21:22:31 +00:00
|
|
|
libloading = "0.9.0"
|
2025-09-08 21:17:31 +00:00
|
|
|
log = { version = "0.4.28", features = ["std"] }
|
2025-09-29 22:50:35 +00:00
|
|
|
memchr = "2.7.6"
|
2025-04-07 22:48:38 +00:00
|
|
|
once_cell = "1.21.3"
|
2024-09-16 21:37:01 +00:00
|
|
|
pretty_assertions = "1.4.1"
|
2024-02-08 06:43:21 -05:00
|
|
|
rand = "0.8.5"
|
2025-09-29 22:50:35 +00:00
|
|
|
regex = "1.11.3"
|
2025-08-26 13:55:32 +00:00
|
|
|
regex-syntax = "0.8.6"
|
2025-03-12 13:56:43 +00:00
|
|
|
rustc-hash = "2.1.1"
|
2025-11-10 21:22:31 +00:00
|
|
|
schemars = "1.0.5"
|
2025-09-15 21:08:42 +00:00
|
|
|
semver = { version = "1.0.27", features = ["serde"] }
|
2025-03-12 13:56:43 +00:00
|
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
2025-09-15 21:08:42 +00:00
|
|
|
serde_json = { version = "1.0.145", features = ["preserve_order"] }
|
2025-01-20 21:22:15 +00:00
|
|
|
similar = "2.7.0"
|
2025-03-12 13:56:43 +00:00
|
|
|
smallbitvec = "2.6.0"
|
2024-09-29 23:34:48 +02:00
|
|
|
streaming-iterator = "0.1.9"
|
2025-09-28 08:18:33 +00:00
|
|
|
tempfile = "3.23.0"
|
2025-10-13 21:09:27 +00:00
|
|
|
thiserror = "2.0.17"
|
2024-02-08 06:43:21 -05:00
|
|
|
tiny_http = "0.12.0"
|
2025-03-11 17:21:33 -04:00
|
|
|
topological-sort = "0.2.2"
|
2025-03-12 13:56:43 +00:00
|
|
|
unindent = "0.2.4"
|
2024-03-05 16:43:10 +00:00
|
|
|
walkdir = "2.5.0"
|
2025-12-02 00:00:10 +00:00
|
|
|
wasmparser = "0.242.0"
|
2025-06-16 23:08:35 +00:00
|
|
|
webbrowser = "1.0.5"
|
2024-02-25 11:14:29 -08:00
|
|
|
|
2025-09-24 16:26:37 -04:00
|
|
|
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" }
|
2025-09-22 09:24:30 -07:00
|
|
|
|
2025-09-22 12:54:15 -07:00
|
|
|
tree-sitter-language = { version = "0.1.5", path = "./crates/language" }
|