Expand description
A downloader/builder of many tree-sitter parsers
§Why?
To build parsers (.so
/.dylib
) and use them with your favourite bindings.
I created it more specifically for the ruby bindings.
§Configuration
If no configuration is provided for the language you’re asking for in parsers.toml
,
the latest parsers will be downloaded built.
If you wish to pin parser versions:
[parsers]
java = "v0.21.0"
json = "0.21.0" # The leading v is not necessary
python = "master"
typescript = { ref = "0.21.0", cmd = "make" }
cobol = { ref = "6a469068cacb5e3955bb16ad8dfff0dd792883c9", from = "https://github.com/yutaro-sakamoto/tree-sitter-cobol" }
Run:
tsdl config default
to get the default config used by tsdl in TOML.
All configuration you can pass to tsd build
can be put in the parsers.toml
,
like tree-sitter-version
, out-dir
, etc.
build-dir = "/tmp/tsdl"
out-dir = "/usr/local/lib"
[parsers]
json = "0.21.0" # The leading v is not necessary
rust = "master"
All configuration specified in parsers.toml
can be overridden with flags
passed to tsdl
, i.e.: tsdl build --build-dir "/tmp/tsdl"
will
override whatever value is the default of tsdl
or in parsers.toml
.
Check out Faveod/tree-sitter-parsers for an example configuration.
Modules§
- args
- build
- config
- consts
- display
- The API is not nice, and I can’t change the number of steps on the fly. Which I need for repos declaring multiple parsers like php. I can’t change what’s in the tick position easily too. And let’s not mention code duplication …
- error
- git
- logging
- parser
- sh
- tree_
sitter