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 tsdlTo build a parser:
tsdl build rustTo build many parsers:
tsdl build rust ruby jsonIf a configuration file (parsers.toml) is provided, then simply running:
tsdl buildwill 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 defaultto 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.