tree-sitter/cli
Riley Bruins 9ad096ef22 fix(lib): prevent finished_tree assertion failure
**Problem:** When resetting the parser during subtree balancing, an
error is thrown:

```
parser.c:2198: ts_parser_parse: Assertion `self->finished_tree.ptr' failed.
```

**Solution:** Reset `canceled_balancing` to false in
`ts_parser_reset()`.
2025-02-01 16:19:14 -05:00
..
benches feat: remove lazy_static in favor of LazyLock 2025-01-21 00:21:35 -05:00
config chore: a few minor lints 2025-01-21 00:57:58 -05:00
eslint build(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /cli/eslint 2024-11-22 23:18:29 -05:00
generate feat(generate): defer to ABI 14 if tree-sitter.json doesn't exist, rather than hard failing 2025-01-26 13:12:58 -05:00
loader feat(bindings): add opt-in zig bindings 2025-01-25 03:47:19 -05:00
npm build: update authors 2025-01-31 21:11:10 -05:00
src fix(lib): prevent finished_tree assertion failure 2025-02-01 16:19:14 -05:00
build.rs docs: move assets to correct path 2024-12-25 21:23:36 -05:00
Cargo.toml build(cli): explicitly include files 2025-01-28 19:30:43 -05:00
README.md docs(rust): add --locked to installation instructions 2024-10-30 10:51:46 -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:

cargo install --locked tree-sitter-cli

or with npm:

npm install 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.