Expand description

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.

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

Features

Every supported language has a feature with the same name as the respective public function. Additionally the three feature groups some, most, and all are available.

  • some — Include parsers for the most widely known supported languages.

  • most — Implies some. Include parsers for most common languages.

  • all — Implies most. Include parsers for all supported languages.

  • runtime-c (enabled by default) — Use the standard tree-sitter C runtime. See syntastica’s WebAssembly support for more information.

  • runtime-c2rust — Use the pure Rust tree-sitter runtime. See syntastica’s WebAssembly support for more information.

  • docs — Meant to be enabled when building docs

Structs

Enums

  • An enum of every supported language in the current feature set.

Constants

  • A list of all languages supported by the current feature set.
  • A list of all language names supported by the current feature set.

Functions

  • asmmost or asm
    Get the parser for asm.
  • bash(some or bash) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for bash. (not supported on the wasm32-unknown-unknown target)
  • csome or c
    Get the parser for c.
  • c_sharpmost or c_sharp
    Get the parser for c_sharp.
  • commentmost or comment
    Get the parser for comment.
  • cpp(some or cpp) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for cpp. (not supported on the wasm32-unknown-unknown target)
  • csssome or css
    Get the parser for css.
  • dartmost or dart
    Get the parser for dart.
  • diffmost or diff
    Get the parser for diff.
  • ebnfall or ebnf
    Get the parser for ebnf.
  • ejsall or ejs
    Get the parser for ejs.
  • erball or erb
    Get the parser for erb.
  • gosome or go
    Get the parser for go.
  • haskell(most or haskell) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for haskell. (not supported on the wasm32-unknown-unknown target)
  • hexdumpall or hexdump
    Get the parser for hexdump.
  • html(some or html) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for html. (not supported on the wasm32-unknown-unknown target)
  • javasome or java
    Get the parser for java.
  • javascriptsome or javascript
    Get the parser for javascript.
  • jsdocmost or jsdoc
    Get the parser for jsdoc.
  • jsonsome or json
    Get the parser for json.
  • json5most or json5
    Get the parser for json5.
  • jsoncmost or jsonc
    Get the parser for jsonc.
  • julia(all or julia) and non-target_family="wasm"
    Get the parser for julia. (not supported on WebAssembly targets)
  • latex(most or latex) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for latex. (not supported on the wasm32-unknown-unknown target)
  • llvm(all or llvm) and non-target_family="wasm"
    Get the parser for llvm. (not supported on WebAssembly targets)
  • lua(some or lua) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for lua. (not supported on the wasm32-unknown-unknown target)
  • markdown(most or markdown) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for markdown. (not supported on the wasm32-unknown-unknown target)
  • markdown_inline(most or markdown_inline) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for markdown_inline. (not supported on the wasm32-unknown-unknown target)
  • ocaml(all or ocaml) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for ocaml. (not supported on the wasm32-unknown-unknown target)
  • ocaml_interface(all or ocaml_interface) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for ocaml_interface. (not supported on the wasm32-unknown-unknown target)
  • php(most or php) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for php. (not supported on the wasm32-unknown-unknown target)
  • python(some or python) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for python. (not supported on the wasm32-unknown-unknown target)
  • qlall or ql
    Get the parser for ql.
  • regexmost or regex
    Get the parser for regex.
  • ruby(most or ruby) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for ruby. (not supported on the wasm32-unknown-unknown target)
  • rushall or rush
    Get the parser for rush.
  • rustsome or rust
    Get the parser for rust.
  • scala(most or scala) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for scala. (not supported on the wasm32-unknown-unknown target)
  • scssmost or scss
    Get the parser for scss.
  • tomlsome or toml
    Get the parser for toml.
  • tsxsome or tsx
    Get the parser for tsx.
  • typescriptsome or typescript
    Get the parser for typescript.
  • ursaall or ursa
    Get the parser for ursa.
  • verilogall or verilog
    Get the parser for verilog.
  • watall or wat
    Get the parser for wat.
  • yaml(some or yaml) and not (WebAssembly and target_vendor="unknown" and target_os="unknown" and target_env="")
    Get the parser for yaml. (not supported on the wasm32-unknown-unknown target)