An incremental parsing system for programming tools https://tree-sitter.github.io
Find a file
2023-01-15 19:18:51 +02:00
.github/workflows ci: rustup install rustfmt and clippy 2023-01-15 19:18:51 +02:00
cli loader: use portable way of path joining 2023-01-11 04:12:13 +02:00
docs Added additional documentation details 2023-01-03 02:48:55 +02:00
highlight Fix typos 2022-06-28 19:57:42 +08:00
lib Fix wasm tests 2023-01-06 08:32:26 +02:00
script Add 'stringToUTF16' and 'AsciiToString' to exported method 2022-11-15 16:39:17 -08:00
tags Fix typos 2022-06-28 19:57:42 +08:00
test Add tests that randomly edit files with disjoint included ranges 2022-11-14 16:04:37 -08:00
.appveyor.yml Build and test wasm on CI 2019-04-26 14:38:13 -07:00
.gitattributes Exclude huge generated files from git diff output 2023-01-14 08:58:25 +02:00
.gitignore Add files needed for using clangd 2022-02-22 09:44:50 -08:00
Cargo.lock Fix permanent rebuild triggering in a git worktree due to wrong git branch file path 2022-12-11 19:16:20 +02:00
Cargo.toml Set CLI as default workspace member 2022-03-02 16:36:14 -08:00
CONTRIBUTING.md Tweak readmes 2020-05-12 16:16:48 -07:00
LICENSE chore(cli): Add the LICENSE file to the tree-sitter-cli npm package 2021-08-22 03:13:46 +03:00
Makefile Update Makefile VERSION to 0.20.9 from lib/Cargo.toml 2023-01-08 04:39:46 +02:00
README.md Add zenodo citation badge to readme 2021-03-18 12:16:03 -07:00
tree-sitter.pc.in Add a simple Makefile-based build system. 2020-04-21 23:49:19 -04:00

tree-sitter

Build Status Build status DOI

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