rcue

Documentation

Simple CUE sheet reader for Rust. Has no dependencies and compiles on stable.

Usage

See generated documentation or tests in parser.rs for usage and some examples.

Add this to your Cargo.toml under [dependencies]

via crates.io

toml rcue = "0.1.2"

or from GitHub directly

toml rcue = { git = "https://github.com/gyng/rcue" }

In your program:

```rust extern crate rcue;

use rcue::parser::parse; use rcue::parser::parsefromfile;

fn main() { let cue = parsefromfile("test/fixtures/unicode.cue", true).unwrap(); asserteq!(cue.title, Some("マジコカタストロフィ".tostring()));

let file = std::fs::File::open("test/fixtures/unicode.cue").unwrap();
let mut buf_reader = std::io::BufReader::new(file);
let cue = parse(&mut buf_reader, true).unwrap();
assert_eq!(cue.title, Some("マジコカタストロフィ".to_string()));

} ```

Limitations and notes

The current implementation has the following known limitations:

Development

Verbose log information

For verbose logging to STDOUT and details on skipped lines in lenient mode, run rcue with the environment variable RCUE_LOG set to 1. For example:

```

myapp.rs

RCUE_LOG=1 cargo run ```

Fuzzing

The parser fuzz test for rcue can be run using cargo fuzz in nightly.

cargo install cargo-fuzz -f cargo +nightly fuzz run fuzz_parser

Clippy

Run clippy using

rustup install nightly # if not installed rustup update nightly cargo +nightly install clippy --force # --force to update rustup run nightly cargo clippy

TODO