#tree-sitter #syntastica #collection #build-script #git #fetching

syntastica-parsers-git

Collection of tree-sitter parsers for syntastica, fetching with git in the build-script

4 releases (breaking)

new 0.5.0 Mar 6, 2025
0.4.1 Sep 19, 2023
0.3.0 May 26, 2023
0.1.1 May 24, 2023

#1 in #syntastica

Download history 6/week @ 2024-12-08 3/week @ 2024-12-15 109/week @ 2025-03-02

109 downloads per month
Used in syntastica

GPL-3.0-only

685KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments Scheme 309 SLoC

syntastica-parsers-git

Collection of tree-sitter parsers for syntastica, fetching with git in the build-script.

See the project overview for more information on all parser collections.

Improving compilation speed

Due to the nature of this parser collection, compilation can take a very long time with many parsers enabled, since all parsers are cloned and built every time the build script is run. In a local development environment you can use the following environment variables to reuse files from a previous run.

Option one: Setting a different clone directory

You can set SYNTASTICA_PARSERS_CLONE_DIR to a directory to clone the parser repositories to, so that they only have to be built but not downloaded every time.

Option two: Reusing built archives

Set SYNTASTICA_PARSERS_CACHE_DIR to a directory where all built parsers will be copied to. When a binary for a parser is already present in that directory, it will be reused the next time the build script is run.

Parser generation

Some parsers don't include the generated parser.c file in their git checkouts and instead require users to generate it themselves based on the grammer.js. This collection supports that, but this requires you to have a working JavaScript runtime installed on your system. By default, node is assumed, but you can override that to bun or deno by setting the SYNTASTICA_PARSERS_JS_RUNTIME environment variable. These parsers will only be in the all group, so unless you use that group or one of the affected parsers specifically, you don't have to worry about this.

List of included parsers

List of parsers included in the some feature
List of parsers additionally included in the most feature
List of parsers additionally included in the all feature

Dependencies

~6.5–10MB
~188K SLoC