#toml-parser #toml #parser #incremental

tree-sitter-toml

TOML grammar for the tree-sitter parsing library

1 unstable release

0.20.0 Jan 5, 2022

#26 in #toml-parser

Download history 354/week @ 2023-12-06 411/week @ 2023-12-13 329/week @ 2023-12-20 432/week @ 2023-12-27 383/week @ 2024-01-03 387/week @ 2024-01-10 780/week @ 2024-01-17 1373/week @ 2024-01-24 744/week @ 2024-01-31 584/week @ 2024-02-07 741/week @ 2024-02-14 941/week @ 2024-02-21 861/week @ 2024-02-28 792/week @ 2024-03-06 709/week @ 2024-03-13 532/week @ 2024-03-20

3,022 downloads per month
Used in 11 crates (8 directly)

MIT license

150KB
5K SLoC

C 4.5K SLoC JavaScript 199 SLoC Rust 34 SLoC // 0.2% comments Scheme 20 SLoC // 0.2% comments

tree-sitter-toml

This crate provides TOML grammar for the tree-sitter parsing library. To use this crate, add it to the [dependencies] section of your Cargo.toml file. (Note that you will probably also need to depend on the tree-sitter crate to use the parsed result in any useful way.)

[dependencies]
tree-sitter = "0.17"
tree-sitter-toml = "0.16"

Typically, you will use the language function to add this grammar to a tree-sitter Parser, and then use the parser to parse some code:

let code = r#"
[package]
name = "cargo"
version = "0.1.0"
edition = "2021"
"#;
let mut parser = Parser::new();
parser.set_language(tree_sitter_toml::language()).expect("Error loading TOML grammar");
let parsed = parser.parse(code, None);

It's based on the lovely bindings of tree-sitter-rust and uses the awesome grammar defined by tree-sitter-toml.

Dependencies

~2.7–4MB
~71K SLoC