An incremental parsing system for programming tools
https://tree-sitter.github.io
The `release/v*` prefixed branches can be used only with a PR opened on such branches. The release branches only accepted in the main repo and not from forks. Also this workflow enables runining on every `push` unconditionaly. This leads to parallel runs on `push` and `pull_request` events and that would seen in PR checks also in parallel, but this is useful because checks that run on the `push` event runs on head ref while checks on the `pull_request` event runs on an additional `refs/pull/<PR>/merge` ref what is created by Github on every push to a PR to check that it can be merged to a target branch without conflicts and passed checks. |
||
|---|---|---|
| .github | ||
| cli | ||
| docs | ||
| highlight | ||
| lib | ||
| script | ||
| tags | ||
| test | ||
| .gitattributes | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| tree-sitter.pc.in | ||
tree-sitter
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