PepegSitter =========== [![Crates.io][crates-badge]][crates-url] [![License][mit-badge]][mit-url] [![Build Status][actions-badge]][actions-url] [![docs.rs][docsrs-badge]][docsrs-url] [crates-badge]: https://img.shields.io/crates/v/pepegsitter.svg [crates-url]: https://crates.io/crates/pepegsitter [mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg [mit-url]: https://github.com/dav1dde/pepegsitter/blob/master/LICENSE [actions-badge]: https://github.com/Dav1dde/pepegsitter/workflows/CI/badge.svg [actions-url]: https://github.com/Dav1dde/pepegsitter/actions?query=workflow%3ACI+branch%3Amaster [docsrs-badge]: https://img.shields.io/docsrs/pepegsitter [docsrs-url]: https://docs.rs/pepegsitter

A collection of tree sitter parsers packaged into a single crate with `tree-sitter-highlight` support. The `build.rs` is also tuned to statically link parsers that depend on `libstdc++`. Every parser is included as a git submodule and has it's own Cargo Feature. ## Usage Enable the parsers you need through cargo features, by default all features are enabled. ```rust // Get the TreeSitter language let _ = pepegsitter::bash::language(); // Get a new `HighlightConfiguration` for the language. let _ = pepegsitter::bash::highlight(); // Queries are accessible module constants. let _ = pepegsitter::bash::HIGHLIGHT_QUERY; ``` ## Parsers Currently includes the following parsers: * Bash * C * C++ * CSS * D * Go * Haskell * Html * Java * JavaScript * Json * Lua * Markdown * Python * Rust * Toml * Typescript / TSX * Vim * Yaml