A TOML-like configuration language parser for Rust.
Find a file
2024-01-17 21:03:41 +00:00
src add integration tests and stuff 2024-01-17 21:03:41 +00:00
tests add integration tests and stuff 2024-01-17 21:03:41 +00:00
.gitignore Initial 2024-01-15 22:59:02 +00:00
Cargo.lock add integration tests and stuff 2024-01-17 21:03:41 +00:00
Cargo.toml add integration tests and stuff 2024-01-17 21:03:41 +00:00
LICENSE Initial 2024-01-15 22:59:02 +00:00
README.md collapse some tokens into each other in the lexer and create a very basic, incomplete validator with unit tests 2024-01-16 21:42:50 +00:00

Frostwalker

Frostwalker is not stable nor ready for dependency development yet. Unless you plan to implement your own formatter, please wait for 0.1.0 to release. 0.0 versions are placeholders and will not be tagged.

A TOML-like configuration language parser for Rust. At present, the crate has a lexer and an incomplete validator with unit tests written for common cases. A formatter will eventually be added.

Justification

The Rust crate toml pulls in 8 other crates to do its job, including serde. While this may not be irksome to basically most Rust developers, I'm used to using severely underpowered Intel hardware so low compile times is a big focus for me so a crate made by me that requires only the standard library compared to one that requires other dependencies is preferrable.

I've also wanted to write a lexer, validator and parser stack for a language and configuration languages are much, much simpler than programming languages like C, Python, and Rust so it is easier to implement these things in a configuration language.

This was mainly made for my web server, herb, where I want to keep dependencies as low as possible just for fun but also for compile times as well. At present, the only dependency for herb is my packet library Packeteer to make the HTTP protocol code more seperated from herb.

I also use a TOML-like language instead of TOML directly as I don't need all the features of TOML nor do I want to implement parsing for all the features of TOML.

What features are supported at the moment?

  • Keys
  • Values
  • The equals sign
  • Booleans
  • Integers
  • Arrays (single depth only)