tree-sitter.tree-sitter/crates/cli
Amaan Qureshi 74b7d0c951 feat!: add an eof function
This commit adds an `eof()` function for grammars, which is easier to
use than the NUL byte directly. It compiles down to a constraint that
the enclosing production can only reduce at end of input, not to a
shiftable token.

BREAKING CHANGE: Public error types for `tree-sitter-generate` were modified.

Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2026-08-21 20:02:58 -04:00
..
benches Upgrade to latest wasmtime, improve robustness and perf of wasm-based parsing (#5847) 2026-08-20 21:02:11 +00:00
eslint build(deps): bump brace-expansion in /crates/cli/eslint 2026-08-04 09:59:36 +02:00
npm feat!: add an eof function 2026-08-21 20:02:58 -04:00
src Allow using Tree-sitter rust lib in multi-threaded web apps compiled to wasm32-unknown-unknown (#5851) 2026-08-14 17:05:42 -07:00
build.rs fix(cli): correct resource paths 2025-08-25 10:21:48 +03:00
Cargo.toml feat(dist): enable install via cargo binstall (#5533) 2026-04-24 08:52:01 +02:00
LICENSE chore: copy license to all packages 2025-09-11 03:12:35 -04:00
package.nix feat: remove the need of an external JS runtime for processing grammars 2025-09-16 02:24:11 -04:00
README.md docs(readme): add link for cargo-binstall 2026-06-26 08:10:43 -04:00

Tree-sitter CLI

crates.io badge npmjs.com badge

The Tree-sitter CLI allows you to develop, test, and use Tree-sitter grammars from the command line. It works on MacOS, Linux, and Windows.

Installation

You can install the tree-sitter-cli with cargo-binstall:

cargo binstall tree-sitter-cli

or you can build it from source:

cargo install --locked tree-sitter-cli

You can also download a pre-built binary for your platform from the releases page.

Dependencies

The tree-sitter binary itself has no dependencies, but specific commands have dependencies that must be present at runtime:

  • To generate a parser from a grammar, you must have node on your PATH.
  • To run and test parsers, you must have a C and C++ compiler on your system.

Commands

  • generate - The tree-sitter generate command will generate a Tree-sitter parser based on the grammar in the current working directory. See the documentation for more information.

  • test - The tree-sitter test command will run the unit tests for the Tree-sitter parser in the current working directory. See the documentation for more information.

  • parse - The tree-sitter parse command will parse a file (or list of files) using Tree-sitter parsers.