tree-sitter.tree-sitter/crates/cli
katrinafyi ac17c8d003 playground: set default LANGUAGE_BASE_URL to "." to fix subfolder hosting
Previously with the empty string base URL, the playground would not work when hosted at a subfolder of the domain. This is because playground.js has this code:

      const url = `${LANGUAGE_BASE_URL}/tree-sitter-${newLanguageName}.wasm`;

With an empty string, it would look for wasm at the root of the website and 404.

Github code search shows that this is an issue which lots of people have run into, and everyone has to work around it: https://github.com/search?q=%2FLANGUAGE_BASE_URL+%3D+%22%22%2F+-language%3AHTML&type=code

Related to https://www.github.com/tree-sitter/tree-sitter/issues/5230
2026-08-24 19:41:26 -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 fix(cli): align grammar DSL declarations with runtime 2026-08-23 17:08:31 -04:00
src playground: set default LANGUAGE_BASE_URL to "." to fix subfolder hosting 2026-08-24 19:41:26 -04: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.