boml 0.1.0

A dependency-free, (almost) 0-copy TOML parser.
Documentation
# BOML

A dependency-free, (almost) zero-copy TOML parser for Rust.

# Status/To-Do

The time types (date, time, date-time) aren't of importance to BOML since the
current goal is just to parse `Cargo.toml` files. They will be supported at
some point in the future, but are not right now, hence why it's marked `(future)`.

- [x] Keys
  - [x] Bare keys
  - [x] Quoted keys
  - [x] Dotted keys
- [ ] Values
  - [x] String
    - [x] Basic string
    - [x] Basic multiline string
    - [x] Literal string
    - [x] Literal multiline string
  - [x] Integer
  - [x] Float
  - [x] Boolean
  - [ ] Time (future)
    - [ ] Local Date-Time
    - [ ] Local Date
    - [ ] Local Time
  - [x] Array
- [x] Tables
  - [x] Table
  - [x] Inline Table
  - [x] Array of Tables
  - [x] Array of Inline Tables

# Why "(almost) zero-copy"?

TOML has 2 kinds of strings: basic strings, and literal strings. Literal strings are
just strings BOML can read from the file, but basic strings can have escapes (`\n`,
for example, gets replaced with the newline character). Processing these escapes requires
copying the string, and then replacing the escapes with their actual characters.

BOML will only copy and format a string if the string is a basic string (surrounded by `"`)
*and* actually contains escapes. Literal strings (surrounded by `'`) and basic strings without
escapes are not copied.

# Whatsitstandfor

Yes.