in playground/tree-sitter/build.py [0:0]
def extract_tree_sitter_deps(repo_root: Path) -> list[tuple[str, str, dict[str, str]]]:
"""Extract tree-sitter dependencies from cargo metadata."""
cmd = ["cargo", "metadata", "--format-version", "1"]
result = run_command(cmd, cwd=repo_root)
metadata = json.loads(result.stdout)
deps = []
for package in metadata["packages"]:
if not package["name"].startswith("tree-sitter-"):
continue
lang_name = package["name"].replace("tree-sitter-", "")
if lang_name in _LANGUAGES:
deps.append((lang_name, package["name"], package))
return deps