#tree-sitter #toml-parser #toml

tree-sitter-toml

TOML grammar for the tree-sitter parsing library

1 unstable release

0.20.0 Jan 5, 2022

#31 in #toml-parser

Download history 1252/week @ 2026-01-08 757/week @ 2026-01-15 1041/week @ 2026-01-22 682/week @ 2026-01-29 474/week @ 2026-02-05 403/week @ 2026-02-12 592/week @ 2026-02-19 793/week @ 2026-02-26 1127/week @ 2026-03-05 889/week @ 2026-03-12 425/week @ 2026-03-19 652/week @ 2026-03-26 1879/week @ 2026-04-02 1744/week @ 2026-04-09 1207/week @ 2026-04-16 660/week @ 2026-04-23

5,579 downloads per month
Used in 25 crates (10 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.5–4MB
~70K SLoC