5 stable releases
1.3.0 | Nov 21, 2024 |
---|---|
1.2.1 | Sep 7, 2024 |
1.2.0 | Sep 6, 2024 |
1.1.0 | Sep 4, 2024 |
1.0.0 | Sep 1, 2024 |
#274 in Build Utils
174 downloads per month
73KB
2K
SLoC
TSDL
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.
Installation
You can either grab the binary for your platform from
tsdl
's releases
or install via cargo:
cargo install tsdl
Usage
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.
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.
[!IMPORTANT] All configuration you can pass to
tsd build
can be put in theparsers.toml
, liketree-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 totsdl
, i.e.:tsdl build --build-dir "/tmp/tsdl"
will override whatever value is the default oftsdl
or inparsers.toml
.
[!TIP] Check out Faveod/tree-sitter-parsers for an example configuration.
Dependencies
~25–42MB
~686K SLoC