tree-sitter/cli
Riley Bruins fa6c1471ef
fix(lib): correct escape detection for invalid anonymous nodes
The current quotation escape checker fails in the case that
there is an anonymous node that is just an escaped backslash (it thinks
the backslash escapes the quote, when really it is just an escaped
backslash itself. See the added test case for an example of this).

This commit ensures the node identification logic keeps track of the
number of backslashes seen so it can accurately determine if the
quotation is escaped or not.
2024-11-15 23:49:06 -05:00
..
benches feat: add fuzz subcommand 2024-05-30 23:00:45 -04:00
config build: configure clippy lints at the workspace level 2024-10-08 21:07:41 -04:00
eslint build(deps): bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /cli/eslint 2024-11-15 23:45:35 -05:00
generate refactor: reuse symbol variable in subtype map generator 2024-11-13 20:54:57 -05:00
loader fix: compiler warning 2024-11-12 19:10:06 -05:00
npm fix(dsl): fix types for RuleBuilder 2024-10-20 01:27:42 +00:00
src fix(lib): correct escape detection for invalid anonymous nodes 2024-11-15 23:49:06 -05:00
vendor Add a highlight subcommand 2019-02-19 12:32:03 -08:00
build.rs fix: make sha generation work with submodules 2024-10-28 12:16:48 +01:00
Cargo.toml feat: add the ability to specify a custom decode function 2024-10-31 22:51:40 -04: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.