tree-sitter/cli
Antonin Décimo f0571b1e33
feat: Windows support using MinGW-w64 (#4201)
Building tree-sitter on Windows within a Cygwin or MSYS2 environment
for MinGW-w64 targets should work. As there's no configure-like step,
the tools have to be specified with:

    make CC=x86_64-w64-mingw32-gcc \
         AR=x86_64-w64-mingw32-ar \
         STRIP=x86_64-w64-mingw32-strip

Useful reference:
[How to build and use DLLs on Windows](https://nullprogram.com/blog/2021/05/31/)

This commit doesn't tag public functions with dllexport or
dllimport. This results in exporting non-static functions visible
between translation units, and generating slightly less efficient code
for calling exported functions from the DLL.

This commit doesn't include support to build libtree-sitter with MSVC or
clang-cl, but generates a libtree-sitter.lib file for MSVC/clang-cl
consumers.
2025-02-12 16:31:06 -08: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 fix(rust): adapt to new clippy lints 2025-02-08 13:15:56 -05:00
loader feat(bindings): add opt-in zig bindings 2025-01-25 03:47:19 -05:00
npm build: bump version to 0.25.1 2025-02-02 02:07:36 -05:00
src feat: Windows support using MinGW-w64 (#4201) 2025-02-12 16:31:06 -08:00
build.rs refactor(web): rename tree-sitter.js to web-tree-sitter.js 2025-02-11 22:56:50 -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.