An incremental parsing system for programming tools https://tree-sitter.github.io
Find a file
DanikVitek ffd777ba65 fix: Naming; Lifetimes; deny(rust_2018_idioms)
- One has to think about lifetimes if a type has one:
  - `<&'a Node<'tree>>::language` now returns `Language<'tree>` instead of
    `Language<'a>`, as it should;
- Renamed `struct TreeCursor<'cursor>` into `struct TreeCursor<'tree>`,
  to be consistant with the usages and reduse confusion;
- Remove explicit "outlives" requirements from `QueryMatches`, `QueryCaptures`,
  and their impl blocks, because they're inferred
- TODO: should `'query` be renamed into `'cursor`?
2026-01-11 00:40:33 +02:00
.cargo chore: remove CARGO_WORKSPACE_DIR var 2025-09-24 16:14:08 -04:00
.github ci: bump korthout/backport-action from 3 to 4 in the actions group 2025-12-22 22:18:09 +01:00
.zed Add zed config file (enable all cargo features for rust-analyzer) 2025-04-23 16:32:21 -07:00
crates fix: Naming; Lifetimes; deny(rust_2018_idioms) 2026-01-11 00:40:33 +02:00
docs docs: add tip about using test --update flag 2025-12-31 01:43:48 -05:00
lib fix: Naming; Lifetimes; deny(rust_2018_idioms) 2026-01-11 00:40:33 +02: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 feat: start working on v0.27 2025-12-13 14:14:33 +01:00
Cargo.lock build(deps): bump clap from 4.5.53 to 4.5.54 in the cargo group 2026-01-07 16:42:00 +00:00
Cargo.toml fix: Naming; Lifetimes; deny(rust_2018_idioms) 2026-01-11 00:40:33 +02:00
CMakeLists.txt feat: start working on v0.27 2025-12-13 14:14:33 +01: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 feat: start working on v0.27 2025-12-13 14:14:33 +01: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 feat: start working on v0.27 2025-12-13 14:14:33 +01: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