An incremental parsing system for programming tools https://tree-sitter.github.io
Find a file
ObserverOfTime f222db57ce fix(bindings): fix ESM errors in Node bindings
1. The module tries to call the native binary as a function.

Only `node-gyp-build` returns a function, so the call is moved there.

2. `node-types.json` is imported with outdated syntax.

Use import attributes which require Node 18.

3. The test does not properly catch import errors.

This is solved by moving the import inside the assertion.
2025-09-18 16:59:34 -04:00
.cargo build(generate): remove tree-sitter dependency 2025-09-16 03:48:30 -04:00
.github ci: build wasm32 2025-09-17 04:57:49 -04:00
.zed Add zed config file (enable all cargo features for rust-analyzer) 2025-04-23 16:32:21 -07:00
crates fix(bindings): fix ESM errors in Node bindings 2025-09-18 16:59:34 -04:00
docs feat: migrate to ESM 2025-09-16 02:24:11 -04:00
lib feat: support compiling to wasm32-unknown-unknown 2025-09-17 04:57:49 -04:00
test/fixtures feat: migrate to ESM 2025-09-16 02:24:11 -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(zig): support wasmtime in more archs 2025-08-30 16:47:47 +03:00
build.zig.zon build(zig): support wasmtime in more archs 2025-08-30 16:47:47 +03:00
Cargo.lock refactor: remove url dependency 2025-09-17 04:31:53 -04:00
Cargo.toml refactor: remove url dependency 2025-09-17 04:31:53 -04:00
CMakeLists.txt build(cmake)!: move CMakeLists.txt to the source root 2025-09-11 01:59:37 -04: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 refactor: rework nix flake 2025-09-09 03:03:35 -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(make): cleanup include dir on uninstall 2025-07-14 11:02:19 +03:00
Package.swift build(swift): include all source files 2025-01-06 01:13:04 -05: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