tree-sitter/cli
Michael Davis 3e499d675a
CLI: Re-use highlight cancellation flag for HTML highlights
The `html` highlight function created its own cancellation flag which
conflicts with the Ctrl-c handler set up in the CLI's `main` block
for `tree-sitter highlight`. We can re-use the cancellation flag from
that block to avoid a panic that happens when using `tree-sitter
highlight -H <file>`

    thread 'main' panicked at 'Error setting Ctrl-C handler: MultipleHandlers', cli/src/util.rs:31:6

This change also aligns the parameters that `highlight::ansi` and
`highlight::html` take.
2023-08-02 08:56:26 -05:00
..
benches fix(test): stick tree-sitter-cpp fixture grammar to a specific hash 2023-05-13 18:57:42 +03:00
config cargo: specify minimum supported Rust version 2023-04-04 03:42:55 +03:00
loader fix: take the last range element by default if the query error isn't found 2023-07-27 12:34:47 -04:00
npm ci: add big-endian & some obscure architectures 2023-07-18 15:44:20 -04:00
src CLI: Re-use highlight cancellation flag for HTML highlights 2023-08-02 08:56:26 -05:00
vendor Add a highlight subcommand 2019-02-19 12:32:03 -08:00
build.rs cli: Fix build.rs in case of the current branch ref was packed 2023-01-03 00:44:01 +02:00
Cargo.toml refactor!: rename proc_macro to avoid conflicts when building std with -Z build-std 2023-07-24 00:44:44 -04:00
emscripten-version emscripten: 3.1.37 2023-05-15 13:11:55 +03:00
README.md docs: update badges; fix markdown lint complains 2023-04-16 23:39:08 +03: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 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.