# `syntastica-parsers-git`
Collection of tree-sitter parsers for
[`syntastica`](https://crates.io/crates/syntastica), fetching with git in the
build-script.
See
[the project overview](https://rubixdev.github.io/syntastica/syntastica/#parser-collections)
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.
## List of included parsers
List of parsers included in the some
feature
- [bash](https://github.com/tree-sitter/tree-sitter-bash/tree/1b0321ee85701d5036c334a6f04761cdc672e64c)
- [c](https://github.com/tree-sitter/tree-sitter-c/tree/39bea7d391f57c5f0e061419e1c3066e03eb14b3)
- [cpp](https://github.com/tree-sitter/tree-sitter-cpp/tree/f88bf81238ec2842682e4d1dac0acf3b43b686e9)
- [css](https://github.com/tree-sitter/tree-sitter-css/tree/5f2c94b897601b4029fedcce7db4c6d76ce8a128)
- [go](https://github.com/tree-sitter/tree-sitter-go/tree/bbaa67a180cfe0c943e50c55130918be8efb20bd)
- [html](https://github.com/tree-sitter/tree-sitter-html/tree/e5d7d7decbbdec5a4c90bbc69436b3828f5646e7)
- [java](https://github.com/tree-sitter/tree-sitter-java/tree/6c8329e2da78fae78e87c3c6f5788a2b005a4afc)
- [javascript](https://github.com/tree-sitter/tree-sitter-javascript/tree/f772967f7b7bc7c28f845be2420a38472b16a8ee)
- [json](https://github.com/tree-sitter/tree-sitter-json/tree/ca3f8919800e3c1ad4508de3bfd7b0b860ce434f)
- [lua](https://github.com/muniftanjim/tree-sitter-lua/tree/7268c1cea5df56ac0c779cd37d6631d4e6f41d4f)
- [python](https://github.com/tree-sitter/tree-sitter-python/tree/5af00f64af6bbf822f208243cce5cf75396fb6f5)
- [rust](https://github.com/tree-sitter/tree-sitter-rust/tree/0a70e15da977489d954c219af9b50b8a722630ee)
- [toml](https://github.com/Mathspy/tree-sitter-toml/tree/ae4cdb5d27bf876a432b6c30b6a88f56c9b3e761)
- [tsx](https://github.com/tree-sitter/tree-sitter-typescript/tree/b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf)
- [typescript](https://github.com/tree-sitter/tree-sitter-typescript/tree/b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf)
- [yaml](https://github.com/wingyplus/tree-sitter-yaml/tree/f4c407b8cb34ec61b15d74a08ac661800576720a)
List of parsers additionally included in the most
feature
- [asm](https://github.com/rush-rs/tree-sitter-asm/tree/36dc26acc7818920de2e103e20a9f42358caf926)
- [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp/tree/1648e21b4f087963abf0101ee5221bb413107b07)
- [comment](https://github.com/stsewd/tree-sitter-comment/tree/c9a7e2df7cac2dfb730f766a4f343308f84ff346)
- [dart](https://github.com/UserNobody14/tree-sitter-dart/tree/e398400a0b785af3cf571f5a57eccab242f0cdf9)
- [diff](https://github.com/the-mikedavis/tree-sitter-diff/tree/f69bde8e56f431863eba2fe4bab23e7d9692855f)
- [haskell](https://github.com/tree-sitter/tree-sitter-haskell/tree/99706824b92f162d4e0f47c7e930bbccb367276e)
- [jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc/tree/189a6a4829beb9cdbe837260653b4a3dfb0cc3db)
- [json5](https://github.com/Joakker/tree-sitter-json5/tree/5dd5cdc418d9659682556b6adca2dd9ace0ac6d2)
- [jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc/tree/02b01653c8a1c198ae7287d566efa86a135b30d5)
- [latex](https://github.com/latex-lsp/tree-sitter-latex/tree/2ae2021d7b224fb6aa57b760e0d146059f943bb8)
- [markdown](https://github.com/MDeiml/tree-sitter-markdown/tree/aaf76797aa8ecd9a5e78e0ec3681941de6c945ee)
- [markdown_inline](https://github.com/MDeiml/tree-sitter-markdown/tree/aaf76797aa8ecd9a5e78e0ec3681941de6c945ee)
- [php](https://github.com/tree-sitter/tree-sitter-php/tree/d76de26b8218df208949f46b31e0c422020eda3a)
- [regex](https://github.com/tree-sitter/tree-sitter-regex/tree/2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96)
- [ruby](https://github.com/tree-sitter/tree-sitter-ruby/tree/f257f3f57833d584050336921773738a3fd8ca22)
- [scala](https://github.com/tree-sitter/tree-sitter-scala/tree/a2f36c2477859110d5b7b675f395e50241fbc004)
- [scss](https://github.com/serenadeai/tree-sitter-scss/tree/c478c6868648eff49eb04a4df90d703dc45b312a)
List of parsers additionally included in the all
feature
- [ebnf](https://github.com/RubixDev/ebnf/tree/8e635b0b723c620774dfb8abf382a7f531894b40)
- [ejs](https://github.com/tree-sitter/tree-sitter-embedded-template/tree/203f7bd3c1bbfbd98fc19add4b8fcb213c059205)
- [erb](https://github.com/tree-sitter/tree-sitter-embedded-template/tree/203f7bd3c1bbfbd98fc19add4b8fcb213c059205)
- [hexdump](https://github.com/rush-rs/tree-sitter-hexdump/tree/09eaf4fcfed00be93928d7d3d82b490cd1343b80)
- [julia](https://github.com/tree-sitter/tree-sitter-julia/tree/d68ded9d5131878a2a06211ef0b47b72e70c6c08)
- [llvm](https://github.com/benwilliamgraham/tree-sitter-llvm/tree/d47c95d78ef0e7495a74d214dd6fcddf6e402dfc)
- [ocaml](https://github.com/tree-sitter/tree-sitter-ocaml/tree/694c57718fd85d514f8b81176038e7a4cfabcaaf)
- [ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml/tree/694c57718fd85d514f8b81176038e7a4cfabcaaf)
- [ql](https://github.com/tree-sitter/tree-sitter-ql/tree/bd087020f0d8c183080ca615d38de0ec827aeeaf)
- [rush](https://github.com/rush-rs/tree-sitter-rush/tree/20c04a0824dabcbf8119a84979cfb1c6f6c2155f)
- [verilog](https://github.com/tree-sitter/tree-sitter-verilog/tree/902031343056bc0b11f3e47b33f036a9cf59f58d)
- [wat](https://github.com/wasm-lsp/tree-sitter-wasm/tree/2ca28a9f9d709847bf7a3de0942a84e912f59088)