tree-sitter/cli
Douglas Creager d2d01e77e3 cli: Use anyhow and thiserror for errors
This patch updates the CLI to use anyhow and thiserror for error
management.  The main feature that our custom `Error` type was providing
was a _list_ of messages, which would allow us to annotate "lower-level"
errors with more contextual information.  This is exactly what's
provided by anyhow's `Context` trait.

(This is setup work for a future PR that will pull the `config` and
`loader` modules out into separate crates; by using `anyhow` we wouldn't
have to deal with a circular dependency between with the new crates.)
2021-06-09 16:17:23 -04:00
..
benches cli: Use anyhow and thiserror for errors 2021-06-09 16:17:23 -04:00
npm 0.19.5 2021-05-20 15:02:46 -07:00
src cli: Use anyhow and thiserror for errors 2021-06-09 16:17:23 -04:00
vendor Add a highlight subcommand 2019-02-19 12:32:03 -08:00
build.rs fix warning and use implicit return here 2020-09-15 13:22:22 -04:00
Cargo.toml cli: Use anyhow and thiserror for errors 2021-06-09 16:17:23 -04:00
README.md Update docs after Rust conversion 2019-02-05 11:34:01 -08:00

Tree-sitter CLI

Build Status Build status Crates.io

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 file) using Tree-sitter parsers.