An incremental parsing system for programming tools https://tree-sitter.github.io
Find a file
Will Lillis 974be3bb30 fix(rust): specify workspace dependency of tree-sitter-language crate
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.
2025-12-08 16:00:57 -05:00
.cargo chore: remove CARGO_WORKSPACE_DIR var 2025-09-24 16:14:08 -04:00
.github ci(release): enable trusted publishing & attestations 2025-12-08 15:38:21 -05:00
.zed Add zed config file (enable all cargo features for rust-analyzer) 2025-04-23 16:32:21 -07:00
crates feat(bindings): add Java bindings 2025-12-08 15:47:15 -05:00
docs docs(cli): list Java & Zig binding files 2025-12-08 15:47:15 -05:00
lib build(deps): bump the npm group across 1 directory with 7 updates 2025-12-06 13:05:02 +01:00
test/fixtures fix(wasm): fix alias map size computation 2025-09-18 18:34:27 -04:00
.dockerignore Add a simple dockerfile for testing 2024-03-18 12:35:10 -07:00
.editorconfig style(zig): reformat files 2025-08-28 20:54:25 +03:00
.envrc feat: add nix flake 2025-09-01 22:48:37 -04:00
.gitattributes Reorganize rust crates into a flat crates directory, simplify some CI steps (#4496) 2025-06-06 14:25:37 -07:00
.gitignore refactor: rework nix flake 2025-09-09 03:03:35 -04:00
build.zig build: define _DARWIN_C_SOURCE 2025-09-22 19:50:43 +03:00
build.zig.zon build(zig): support wasmtime in more archs 2025-08-30 16:47:47 +03:00
Cargo.lock build(deps): cargo update 2025-12-06 12:53:10 +01:00
Cargo.toml fix(rust): specify workspace dependency of tree-sitter-language crate 2025-12-08 16:00:57 -05:00
CMakeLists.txt build: define _DARWIN_C_SOURCE 2025-09-22 19:50:43 +03:00
CONTRIBUTING.md docs: improve docs for contributing to docs 2025-01-10 22:57:54 -05:00
Dockerfile Add a simple dockerfile for testing 2024-03-18 12:35:10 -07:00
flake.lock refactor: rework nix flake 2025-09-09 03:03:35 -04:00
flake.nix flake: remove cross, add llvm-cov support 2025-09-23 01:19:14 -04:00
FUNDING.json chore: add FUNDING.json 2023-11-08 00:08:07 -05:00
LICENSE chore: copy license to all packages 2025-09-11 03:12:35 -04:00
Makefile build: define _DARWIN_C_SOURCE 2025-09-22 19:50:43 +03:00
Package.swift build: define _DARWIN_C_SOURCE 2025-09-22 19:50:43 +03:00
README.md docs: change WASM/wasm to Wasm 2025-08-21 09:56:32 +03:00

tree-sitter

DOI discord matrix

Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:

  • General enough to parse any programming language
  • Fast enough to parse on every keystroke in a text editor
  • Robust enough to provide useful results even in the presence of syntax errors
  • Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application