build: bump deps

This commit is contained in:
Amaan Qureshi 2024-12-16 00:48:20 -05:00
parent 214b3dc2e6
commit 7d3dbc062d
8 changed files with 198 additions and 113 deletions

198
Cargo.lock generated
View file

@ -92,9 +92,9 @@ checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
[[package]]
name = "bindgen"
version = "0.70.1"
version = "0.71.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3"
dependencies = [
"bitflags",
"cexpr",
@ -105,7 +105,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
"rustc-hash 1.1.0",
"rustc-hash",
"shlex",
"syn",
]
@ -321,18 +321,18 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cranelift-bforest"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "540b193ff98b825a1f250a75b3118911af918a734154c69d80bcfcf91e7e9522"
checksum = "2ba4f80548f22dc9c43911907b5e322c5555544ee85f785115701e6a28c9abe1"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-bitset"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7cb269598b9557ab942d687d3c1086d77c4b50dcf35813f3a65ba306fd42279"
checksum = "005884e3649c3e5ff2dc79e8a94b138f11569cc08a91244a292714d2a86e9156"
dependencies = [
"serde",
"serde_derive",
@ -340,9 +340,9 @@ dependencies = [
[[package]]
name = "cranelift-codegen"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46566d7c83a8bff4150748d66020f4c7224091952aa4b4df1ec4959c39d937a1"
checksum = "fe4036255ec33ce9a37495dfbcfc4e1118fd34e693eff9a1e106336b7cd16a9b"
dependencies = [
"bumpalo",
"cranelift-bforest",
@ -356,40 +356,41 @@ dependencies = [
"hashbrown 0.14.5",
"log",
"regalloc2",
"rustc-hash 2.1.0",
"rustc-hash",
"serde",
"smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-codegen-meta"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2df8a86a34236cc75a8a6a271973da779c2aeb36c43b6e14da474cf931317082"
checksum = "f7ca74f4b68319da11d39e894437cb6e20ec7c2e11fbbda823c3bf207beedff7"
dependencies = [
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf75340b6a57b7c7c1b74f10d3d90883ee6d43a554be8131a4046c2ebcf5eb65"
checksum = "897e54f433a0269c4187871aa06d452214d5515d228d5bdc22219585e9eef895"
[[package]]
name = "cranelift-control"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e84495bc5d23d86aad8c86f8ade4af765b94882af60d60e271d3153942f1978"
checksum = "29cb4018f5bf59fb53f515fa9d80e6f8c5ce19f198dc538984ebd23ecf8965ec"
dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-entity"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "963c17147b80df351965e57c04d20dbedc85bcaf44c3436780a59a3f1ff1b1c2"
checksum = "305399fd781a2953ac78c1396f02ff53144f39c33eb7fc7789cf4e8936d13a96"
dependencies = [
"cranelift-bitset",
"serde",
@ -398,9 +399,9 @@ dependencies = [
[[package]]
name = "cranelift-frontend"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "727f02acbc4b4cb2ba38a6637101d579db50190df1dd05168c68e762851a3dd5"
checksum = "9230b460a128d53653456137751d27baf567947a3ab8c0c4d6e31fd08036d81e"
dependencies = [
"cranelift-codegen",
"log",
@ -410,15 +411,15 @@ dependencies = [
[[package]]
name = "cranelift-isle"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32b00cc2e03c748f2531eea01c871f502b909d30295fdcad43aec7bf5c5b4667"
checksum = "b961e24ae3ec9813a24a15ae64bbd2a42e4de4d79a7f3225a412e3b94e78d1c8"
[[package]]
name = "cranelift-native"
version = "0.113.1"
version = "0.114.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbeaf978dc7c1a2de8bbb9162510ed218eb156697bc45590b8fbdd69bb08e8de"
checksum = "4d5bd76df6c9151188dfa428c863b33da5b34561b67f43c0cf3f24a794f9fa1f"
dependencies = [
"cranelift-codegen",
"libc",
@ -464,7 +465,7 @@ dependencies = [
"fuzzy-matcher",
"shell-words",
"tempfile",
"thiserror",
"thiserror 1.0.69",
"zeroize",
]
@ -596,9 +597,9 @@ dependencies = [
[[package]]
name = "fs4"
version = "0.9.1"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8c6b3bd49c37d2aa3f3f2220233b29a7cd23f79d1fe70e5337d25fb390793de"
checksum = "c29c30684418547d476f0b48e84f4821639119c483b1eccd566c8cd0cd05f521"
dependencies = [
"rustix",
"windows-sys 0.52.0",
@ -673,6 +674,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
dependencies = [
"foldhash",
"serde",
]
[[package]]
@ -908,7 +910,7 @@ dependencies = [
"combine",
"jni-sys",
"log",
"thiserror",
"thiserror 1.0.69",
"walkdir",
"windows-sys 0.45.0",
]
@ -1266,9 +1268,9 @@ dependencies = [
[[package]]
name = "pulley-interpreter"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df33e7f8a43ccc7f93b330fef4baf271764674926f3f4d40f4a196d54de8af26"
checksum = "a3b8d81cf799e20564931e9867ca32de545188c6ee4c2e0f6e41d32f0c7dc6fb"
dependencies = [
"cranelift-bitset",
"log",
@ -1331,7 +1333,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
"thiserror",
"thiserror 1.0.69",
]
[[package]]
@ -1342,7 +1344,7 @@ checksum = "12908dbeb234370af84d0579b9f68258a0f67e201412dd9a2814e6f45b2fc0f0"
dependencies = [
"hashbrown 0.14.5",
"log",
"rustc-hash 2.1.0",
"rustc-hash",
"slice-group-by",
"smallvec",
]
@ -1376,12 +1378,6 @@ version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-hash"
version = "2.1.0"
@ -1586,7 +1582,16 @@ version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
dependencies = [
"thiserror-impl",
"thiserror-impl 1.0.69",
]
[[package]]
name = "thiserror"
version = "2.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767"
dependencies = [
"thiserror-impl 2.0.7",
]
[[package]]
@ -1600,6 +1605,17 @@ dependencies = [
"syn",
]
[[package]]
name = "thiserror-impl"
version = "2.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "thread_local"
version = "1.1.8"
@ -1705,6 +1721,7 @@ dependencies = [
"cc",
"regex",
"regex-syntax",
"serde_json",
"streaming-iterator",
"tree-sitter-language",
"wasmtime-c-api-impl",
@ -1738,7 +1755,7 @@ dependencies = [
"rand",
"regex",
"regex-syntax",
"rustc-hash 2.1.0",
"rustc-hash",
"semver",
"serde",
"serde_derive",
@ -1758,7 +1775,7 @@ dependencies = [
"unindent",
"url",
"walkdir",
"wasmparser",
"wasmparser 0.221.2",
"webbrowser",
"widestring",
]
@ -1785,7 +1802,7 @@ dependencies = [
"log",
"regex",
"regex-syntax",
"rustc-hash 2.1.0",
"rustc-hash",
"semver",
"serde",
"serde_json",
@ -1801,7 +1818,7 @@ dependencies = [
"lazy_static",
"regex",
"streaming-iterator",
"thiserror",
"thiserror 2.0.7",
"tree-sitter",
]
@ -1840,7 +1857,7 @@ dependencies = [
"memchr",
"regex",
"streaming-iterator",
"thiserror",
"thiserror 2.0.7",
"tree-sitter",
]
@ -1998,18 +2015,19 @@ checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6"
[[package]]
name = "wasm-encoder"
version = "0.218.0"
version = "0.219.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22b896fa8ceb71091ace9bcb81e853f54043183a1c9667cf93422c40252ffa0a"
checksum = "29cbbd772edcb8e7d524a82ee8cef8dd046fc14033796a754c3ad246d019fa54"
dependencies = [
"leb128",
"wasmparser 0.219.1",
]
[[package]]
name = "wasmparser"
version = "0.218.0"
version = "0.219.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b09e46c7fceceaa72b2dd1a8a137ea7fd8f93dfaa69806010a709918e496c5dc"
checksum = "5c771866898879073c53b565a6c7b49953795159836714ac56a5befb581227c5"
dependencies = [
"ahash",
"bitflags",
@ -2020,21 +2038,34 @@ dependencies = [
]
[[package]]
name = "wasmprinter"
version = "0.218.0"
name = "wasmparser"
version = "0.221.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ace089155491837b75f474bf47c99073246d1b737393fe722d6dee311595ddc"
checksum = "9845c470a2e10b61dd42c385839cdd6496363ed63b5c9e420b5488b77bd22083"
dependencies = [
"bitflags",
"hashbrown 0.15.2",
"indexmap",
"semver",
"serde",
]
[[package]]
name = "wasmprinter"
version = "0.219.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "228cdc1f30c27816da225d239ce4231f28941147d34713dee8f1fff7cb330e54"
dependencies = [
"anyhow",
"termcolor",
"wasmparser",
"wasmparser 0.219.1",
]
[[package]]
name = "wasmtime"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51e762e163fd305770c6c341df3290f0cabb3c264e7952943018e9a1ced8d917"
checksum = "5b79302e3e084713249cc5622e8608e7410afdeeea8c8026d04f491d1fab0b4b"
dependencies = [
"anyhow",
"bitflags",
@ -2060,7 +2091,7 @@ dependencies = [
"smallvec",
"sptr",
"target-lexicon",
"wasmparser",
"wasmparser 0.219.1",
"wasmtime-asm-macros",
"wasmtime-component-macro",
"wasmtime-cranelift",
@ -2073,22 +2104,21 @@ dependencies = [
[[package]]
name = "wasmtime-asm-macros"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63caa7aebb546374e26257a1900fb93579171e7c02514cde26805b9ece3ef812"
checksum = "fe53a24e7016a5222875d8ca3ad6024b464465985693c42098cd0bb710002c28"
dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-c-api-impl"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "956075190611786d56f4a92573d1993c77e6a18926a84be6006ac70c2c6da93d"
checksum = "8c8daa4482847a8e09449404f8fed23f8142e405c18d5ff9bc0230841583f73a"
dependencies = [
"anyhow",
"log",
"once_cell",
"tracing",
"wasmtime",
"wasmtime-c-api-macros",
@ -2096,9 +2126,9 @@ dependencies = [
[[package]]
name = "wasmtime-c-api-macros"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3301b09a17a65280543a48e81e9ae5952f53c94e0f1c74aa92bbd80c044d318"
checksum = "1f9a2fa253a23a6a3821997869018fd3ec1919cc5b0a7315133526ebf4eeeab8"
dependencies = [
"proc-macro2",
"quote",
@ -2106,9 +2136,9 @@ dependencies = [
[[package]]
name = "wasmtime-component-macro"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d61a4b5ce2ad9c15655e830f0eac0c38b8def30c74ecac71f452d3901e491b68"
checksum = "e118acbd2bc09b32ad8606bc7cef793bf5019c1b107772e64dc6c76b5055d40b"
dependencies = [
"anyhow",
"proc-macro2",
@ -2121,15 +2151,15 @@ dependencies = [
[[package]]
name = "wasmtime-component-util"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35e87a1212270dbb84a49af13d82594e00a92769d6952b0ea7fc4366c949f6ad"
checksum = "4a6db4f3ee18c699629eabb9c64e77efe5a93a5137f098db7cab295037ba41c2"
[[package]]
name = "wasmtime-cranelift"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cb40dddf38c6a5eefd5ce7c1baf43b00fe44eada11a319fab22e993a960262f"
checksum = "8b87e6c78f562b50aff1afd87ff32a57e241424c846c1c8f3c5fd352d2d62906"
dependencies = [
"anyhow",
"cfg-if",
@ -2144,17 +2174,17 @@ dependencies = [
"object",
"smallvec",
"target-lexicon",
"thiserror",
"wasmparser",
"thiserror 1.0.69",
"wasmparser 0.219.1",
"wasmtime-environ",
"wasmtime-versioned-export-macros",
]
[[package]]
name = "wasmtime-environ"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8613075e89e94a48c05862243c2b718eef1b9c337f51493ebf951e149a10fa19"
checksum = "c25bfeaa16432d59a0706e2463d315ef4c9ebcfaf5605670b99d46373bdf9f27"
dependencies = [
"anyhow",
"cranelift-bitset",
@ -2169,15 +2199,15 @@ dependencies = [
"smallvec",
"target-lexicon",
"wasm-encoder",
"wasmparser",
"wasmparser 0.219.1",
"wasmprinter",
]
[[package]]
name = "wasmtime-jit-icache-coherence"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da47fba49af72581bc0dc67c8faaf5ee550e6f106e285122a184a675193701a5"
checksum = "91b218a92866f74f35162f5d03a4e0f62cd0e1cc624285b1014275e5d4575fad"
dependencies = [
"anyhow",
"cfg-if",
@ -2187,15 +2217,15 @@ dependencies = [
[[package]]
name = "wasmtime-slab"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770e10cdefb15f2b6304152978e115bd062753c1ebe7221c0b6b104fa0419ff6"
checksum = "4d5f8acf677ee6b3b8ba400dd9753ea4769e56a95c4b30b045ac6d2d54b2f8ea"
[[package]]
name = "wasmtime-versioned-export-macros"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db8efb877c9e5e67239d4553bb44dd2a34ae5cfb728f3cf2c5e64439c6ca6ee7"
checksum = "df09be00c38f49172ca9936998938476e3f2df782673a39ae2ef9fb0838341b6"
dependencies = [
"proc-macro2",
"quote",
@ -2204,9 +2234,9 @@ dependencies = [
[[package]]
name = "wasmtime-wit-bindgen"
version = "26.0.1"
version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bef2a726fd8d1ee9b0144655e16c492dc32eb4c7c9f7e3309fcffe637870933"
checksum = "bf3963c9c29df91564d8bd181eb00d0dbaeafa1b2a01e15952bb7391166b704e"
dependencies = [
"anyhow",
"heck",
@ -2482,9 +2512,9 @@ dependencies = [
[[package]]
name = "wit-parser"
version = "0.218.0"
version = "0.219.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d3d1066ab761b115f97fef2b191090faabcb0f37b555b758d3caf42d4ed9e55"
checksum = "4a86f669283257e8e424b9a4fc3518e3ade0b95deb9fbc0f93a1876be3eda598"
dependencies = [
"anyhow",
"id-arena",
@ -2495,7 +2525,7 @@ dependencies = [
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser",
"wasmparser 0.219.1",
]
[[package]]

View file

@ -93,11 +93,11 @@ incremental = true
codegen-units = 256
[workspace.dependencies]
anstyle = "1.0.8"
anyhow = "1.0.89"
bstr = "1.11.0"
cc = "1.2.1"
clap = { version = "4.5.21", features = [
anstyle = "1.0.10"
anyhow = "1.0.94"
bstr = "1.11.1"
cc = "1.2.4"
clap = { version = "4.5.23", features = [
"cargo",
"derive",
"env",
@ -111,40 +111,40 @@ ctrlc = { version = "3.4.5", features = ["termination"] }
dialoguer = { version = "0.11.0", features = ["fuzzy-select"] }
dirs = "5.0.1"
filetime = "0.2.25"
fs4 = "0.9.1"
fs4 = "0.12.0"
git2 = "0.19.0"
glob = "0.3.1"
heck = "0.5.0"
html-escape = "0.2.13"
indexmap = "2.5.0"
indexmap = "2.7.0"
indoc = "2.0.5"
lazy_static = "1.5.0"
libloading = "0.8.5"
libloading = "0.8.6"
log = { version = "0.4.22", features = ["std"] }
memchr = "2.7.4"
once_cell = "1.19.0"
once_cell = "1.20.2"
path-slash = "0.2.1"
pretty_assertions = "1.4.1"
rand = "0.8.5"
regex = "1.10.6"
regex-syntax = "0.8.4"
rustc-hash = "2.0.0"
semver = { version = "1.0.23", features = ["serde"] }
serde = { version = "1.0.215", features = ["derive"] }
serde_derive = "1.0.210"
regex = "1.11.1"
regex-syntax = "0.8.5"
rustc-hash = "2.1.0"
semver = { version = "1.0.24", features = ["serde"] }
serde = { version = "1.0.216", features = ["derive"] }
serde_derive = "1.0.216"
serde_json = { version = "1.0.133", features = ["preserve_order"] }
similar = "2.6.0"
smallbitvec = "2.5.3"
streaming-iterator = "0.1.9"
tempfile = "3.14.0"
thiserror = "1.0.69"
thiserror = "2.0.7"
tiny_http = "0.12.0"
toml = "0.8.19"
unindent = "0.2.3"
url = { version = "2.5.2", features = ["serde"] }
url = { version = "2.5.4", features = ["serde"] }
walkdir = "2.5.0"
wasmparser = "0.218.0"
webbrowser = "1.0.2"
wasmparser = "0.221.2"
webbrowser = "1.0.3"
tree-sitter = { version = "0.25.0", path = "./lib" }
tree-sitter-generate = { version = "0.25.0", path = "./cli/generate" }

View file

@ -12,7 +12,7 @@ workspace = true
proc-macro = true
[dependencies]
proc-macro2 = "1.0.86"
proc-macro2 = "1.0.92"
quote = "1.0.37"
rand = "0.8.5"
syn = { version = "2.0.79", features = ["full"] }
syn = { version = "2.0.90", features = ["full"] }

View file

@ -45,21 +45,22 @@ std = ["regex/std", "regex/perf", "regex-syntax/unicode"]
wasm = ["std", "wasmtime-c-api"]
[dependencies]
regex = { version = "1.10.6", default-features = false, features = ["unicode"] }
regex-syntax = { version = "0.8.4", default-features = false }
regex = { version = "1.11.1", default-features = false, features = ["unicode"] }
regex-syntax = { version = "0.8.5", default-features = false }
tree-sitter-language = { version = "0.1", path = "language" }
streaming-iterator = "0.1.9"
[dependencies.wasmtime-c-api]
version = "26.0.1"
version = "27.0.0"
optional = true
package = "wasmtime-c-api-impl"
default-features = false
features = ["cranelift"]
features = ["cranelift", "gc-drc"]
[build-dependencies]
bindgen = { version = "0.70.1", optional = true }
bindgen = { version = "0.71.1", optional = true }
cc.workspace = true
serde_json.workspace = true
[lib]
path = "binding_rust/lib.rs"

View file

@ -1,4 +1,4 @@
/* automatically generated by rust-bindgen 0.70.1 */
/* automatically generated by rust-bindgen 0.71.1 */
pub const TREE_SITTER_LANGUAGE_VERSION: u32 = 15;
pub const TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION: u32 = 13;

View file

@ -52,6 +52,33 @@ fn main() {
#[cfg(feature = "bindgen")]
fn generate_bindings(out_dir: &std::path::Path) {
use std::{process::Command, str::FromStr};
use bindgen::RustTarget;
let output = Command::new("cargo")
.args(["metadata", "--format-version", "1"])
.output()
.unwrap();
let metadata = serde_json::from_slice::<serde_json::Value>(&output.stdout).unwrap();
let Some(rust_version) = metadata
.get("packages")
.and_then(|packages| packages.as_array())
.and_then(|packages| {
packages.iter().find_map(|package| {
if package["name"] == "tree-sitter" {
package.get("rust_version").and_then(|v| v.as_str())
} else {
None
}
})
})
else {
panic!("Failed to find tree-sitter package in cargo metadata");
};
const HEADER_PATH: &str = "include/tree_sitter/api.h";
println!("cargo:rerun-if-changed={HEADER_PATH}");
@ -79,6 +106,8 @@ fn generate_bindings(out_dir: &std::path::Path) {
.no_copy(no_copy.join("|"))
.prepend_enum_name(false)
.use_core()
.clang_arg("-D TREE_SITTER_FEATURE_WASM")
.rust_target(RustTarget::from_str(rust_version).unwrap())
.generate()
.expect("Failed to generate bindings");

View file

@ -17,7 +17,7 @@ workspace = true
[dependencies]
anstyle.workspace = true
anyhow.workspace = true
bindgen = { version = "0.70.1" }
bindgen = { version = "0.71.1" }
cc.workspace = true
clap.workspace = true
git2.workspace = true

View file

@ -1,6 +1,7 @@
use std::{collections::BTreeSet, ffi::OsStr, fs, path::Path, process::Command};
use std::{collections::BTreeSet, ffi::OsStr, fs, path::Path, process::Command, str::FromStr};
use anyhow::{Context, Result};
use bindgen::RustTarget;
use crate::{bail_on_err, GenerateFixtures};
@ -67,6 +68,29 @@ pub fn run_fixtures(args: &GenerateFixtures) -> Result<()> {
}
pub fn run_bindings() -> Result<()> {
let output = Command::new("cargo")
.args(["metadata", "--format-version", "1"])
.output()
.unwrap();
let metadata = serde_json::from_slice::<serde_json::Value>(&output.stdout).unwrap();
let Some(rust_version) = metadata
.get("packages")
.and_then(|packages| packages.as_array())
.and_then(|packages| {
packages.iter().find_map(|package| {
if package["name"] == "tree-sitter" {
package.get("rust_version").and_then(|v| v.as_str())
} else {
None
}
})
})
else {
panic!("Failed to find tree-sitter package in cargo metadata");
};
let no_copy = [
"TSInput",
"TSLanguage",
@ -91,6 +115,7 @@ pub fn run_bindings() -> Result<()> {
.prepend_enum_name(false)
.use_core()
.clang_arg("-D TREE_SITTER_FEATURE_WASM")
.rust_target(RustTarget::from_str(rust_version).unwrap())
.generate()
.expect("Failed to generate bindings");