Thanks to visit codestin.com
Credit goes to lib.rs

43 stable releases

Uses new Rust 2024

2.17.0 May 9, 2026
2.16.0 Mar 11, 2026
2.13.0 Feb 9, 2026
2.4.7 Dec 30, 2025
0.901.0 Dec 9, 2025

#2959 in Parser implementations

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

869 downloads per month
Used in 9 crates (3 directly)

Apache-2.0

39KB
1K SLoC

Codestin Search App Codestin Search App Codestin Search App Codestin Search App

arborium-ini

Part of Arborium crates.io docs.rs license

INI grammar for tree-sitter.

Simple key-value configuration format; Microsoft documented the .ini structure in early Windows SDKs (e.g., Win16 documentation).

Inventor Unknown (popularized by Microsoft Windows)
Year 1985

Usage

use arborium_ini::language;
use tree_sitter_patched_arborium::Parser;

let mut parser = Parser::new();
parser.set_language(&language()).expect("Error loading ini grammar");

let source_code = "/* your ini code here */";
let tree = parser.parse(source_code, None).unwrap();
println!("{}", tree.root_node().to_sexp());

For most use cases, prefer the main arborium crate:

[dependencies]
arborium = { version = "*", features = ["ini"] }

Or use this crate directly:

[dependencies]
arborium-ini = "*"

About Arborium

This crate is part of Arborium, a collection of tree-sitter grammars packaged as Rust crates, maintained by Amos Wenger.

This crate packages a parser.c file generated by the tree-sitter CLI. It exports a language() function returning the tree-sitter Language for ini.

Why separate crates? Tree-sitter parsers can be large (some exceed 1MB of generated C). Splitting languages into separate crates means you only compile what you need, and parallel/incremental builds are more effective.

Build Requirements

  • Rust: MSRV is 1.85.0 (Rust 2024 edition)
  • C compiler: This crate compiles C code via the cc crate

Supported Targets

  • All major platforms: Linux, macOS, Windows
  • WebAssembly: wasm32-unknown-unknown (with custom sysroot)

Upstream Grammar

Repository justinmk/tree-sitter-ini
Commit bea223734aa9cea2c8793bf9098bd7fdef912f57
License Apache-2.0

To regenerate after upstream updates:

cargo xtask gen --name ini

Found a grammar bug? Please report it to the upstream repository.

Safety

This crate uses unsafe for FFI bindings to the tree-sitter C library. The unsafe surface is minimal and limited to what tree-sitter requires. The generated parser code is produced by tree-sitter's own code generator.

Versioning

Crate versions track Arborium releases, not upstream grammar versions. The upstream commit is recorded above. A major version bump occurs when grammar changes affect node names or structure (breaking for query consumers).

License

  • Generated parser code (parser.c): Apache-2.0 (from upstream grammar)
  • Arborium glue code: MIT OR Apache-2.0

Contributing

Dependencies

~0–1.9MB
~35K SLoC