tree-sitter/cli
Douglas Creager e841fcfa1b cli: Extract CLI configuration into separate crate
This patch adds the `tree-sitter-config` crate, which manages
tree-sitter's configuration file.  This new setup allows different
components to define their own serializable configuration types, instead
of having to create a single monolithic configuration type.  But the
configuration itself is still stored in a single JSON file.

Before, the default location for the configuration file was
`~/.tree-sitter/config.json`.  This patch updates the default location
to follow the XDG Base Directory spec (or other relevant platform-
specific spec).  So on Linux, for instance, the new default location is
`~/.config/tree-sitter/config.json`.  We will look in the new location
_first_, and fall back on reading from the legacy location if we can't
find anything.
2021-06-10 10:21:22 -04:00
..
benches cli: Extract CLI configuration into separate crate 2021-06-10 10:21:22 -04:00
config cli: Extract CLI configuration into separate crate 2021-06-10 10:21:22 -04:00
loader cli: Extract CLI configuration into separate crate 2021-06-10 10:21:22 -04:00
npm 0.19.5 2021-05-20 15:02:46 -07:00
src cli: Extract CLI configuration into separate crate 2021-06-10 10:21:22 -04:00
vendor Add a highlight subcommand 2019-02-19 12:32:03 -08:00
build.rs rust: Extract runtime language detection into separate crate 2021-06-09 17:42:30 -04:00
Cargo.toml cli: Extract CLI configuration into separate crate 2021-06-10 10:21:22 -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.