A downloader/builder of many tree-sitter parsers
To build parsers (.so
/.dylib
) and use them with your favourite bindings.
I created it more specifically for the ruby bindings.
You can either grab the binary for your platform from
tsdl
's releases
or install via cargo:
cargo install tsdl
To build a parser:
tsdl build rust
To build many parsers:
tsdl build rust ruby json
If a configuration file (parsers.toml
) is provided, then simply running:
tsdl build
will download all the pinned parsers.
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.
Important
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"
Important
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
.
Tip
Check out Faveod/tree-sitter-parsers for an example configuration.