CLI tool for developing, testing, and using Tree-sitter parsers
pkg:cargo/tree-sitter-cli@0.25.x
npx @tessl/cli install tessl/cargo-tree-sitter-cli@0.25.0A command-line tool for developing, testing, and using Tree-sitter parsers. Tree-sitter is a parser generator tool and incremental parsing library that builds concrete syntax trees for source files and efficiently updates them as files are edited. The CLI provides comprehensive functionality for parser development, testing, deployment, and usage workflows.
cargo install --locked tree-sitter-clinpm install tree-sitter-cliThe CLI is invoked as tree-sitter with various subcommands:
# Initialize a new grammar project
tree-sitter init
# Generate parser from grammar
tree-sitter generate
# Build/compile the parser
tree-sitter build
# Test the parser
tree-sitter test
# Parse files with the parser
tree-sitter parse input.txt
# Run syntax highlighting on files
tree-sitter highlight input.txt
# Execute tree-sitter queries
tree-sitter query queries.scm input.txtThe tree-sitter-cli is built around these key components:
This design enables complete parser development lifecycle management from initial grammar creation through deployment and usage.
Commands for initializing, configuring, and managing grammar projects including interactive setup, version management, and project scaffolding.
tree-sitter init-config # Generate default config file
tree-sitter init [--update] # Initialize grammar repository (alias: i)
tree-sitter version <version> # Increment grammar version (alias: publish)Core functionality for generating parsers from grammar files and compiling them to native libraries or WASM modules.
tree-sitter generate [options] [grammar_path] # Generate parser (aliases: gen, g)
tree-sitter build [options] [path] # Compile parser (alias: b)Comprehensive testing framework supporting corpus tests, syntax highlighting tests, tag tests, query validation, and fuzzing.
tree-sitter test [options] # Run parser tests (alias: t)
tree-sitter fuzz [options] # Fuzz test parser (alias: f)Parse, highlight, query, and tag source files using Tree-sitter parsers with various output formats and processing options.
tree-sitter parse [options] <files...> # Parse files (alias: p)
tree-sitter highlight [options] <files...> # Highlight files (alias: hi)
tree-sitter query <query_file> <files...> # Query files (alias: q)
tree-sitter tags [options] <files...> # Generate tagsDevelopment and debugging tools including web playground, language information display, and shell completion generation.
tree-sitter playground [options] # Start web playground (aliases: play, pg, web-ui)
tree-sitter dump-languages [options] # List known languages (alias: langs)
tree-sitter complete --shell <shell> # Generate completions (alias: comp)Common options available across most commands:
--config-path <path> # Use alternative config.json file
--help # Show help information
--version # Show version informationTree-sitter CLI uses a JSON configuration file typically located at ~/.config/tree-sitter/config.json. Generate a default configuration with:
tree-sitter init-configThe configuration includes:
Key environment variables that affect CLI behavior:
TREE_SITTER_ABI_VERSION: ABI version for parser generation (default: 15)TREE_SITTER_JS_RUNTIME: JavaScript runtime for parser generation (default: node)NO_COLOR: Disable colored output when set to "1"Runtime dependencies required for various operations:
tree-sitter generate)