#tree-sitter #incremental-parser #parser #wasm

bin+lib tree-sitter-cli

CLI tool for developing, testing, and using Tree-sitter parsers

34 releases

0.25.4 May 11, 2025
0.25.3 Mar 5, 2025
0.25.2 Feb 18, 2025
0.24.6 Dec 27, 2024
0.14.5 Feb 25, 2019

#1114 in Command line utilities

Download history 6328/week @ 2025-02-02 6428/week @ 2025-02-09 4171/week @ 2025-02-16 3570/week @ 2025-02-23 5298/week @ 2025-03-02 5059/week @ 2025-03-09 4453/week @ 2025-03-16 4051/week @ 2025-03-23 4053/week @ 2025-03-30 4365/week @ 2025-04-06 4509/week @ 2025-04-13 4984/week @ 2025-04-20 3773/week @ 2025-04-27 3050/week @ 2025-05-04 3399/week @ 2025-05-11 2924/week @ 2025-05-18

13,431 downloads per month
Used in highlight-ez

MIT and LGPL-3.0-or-later

2MB
53K SLoC

Rust 41K SLoC // 0.0% comments C 12K SLoC // 0.1% comments JavaScript 496 SLoC // 0.0% comments Python 93 SLoC // 0.2% comments Zig 76 SLoC // 0.0% comments Swift 48 SLoC TypeScript 23 SLoC Go 18 SLoC // 0.2% comments C++ 13 SLoC

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.

Dependencies

~16–33MB
~532K SLoC