mf2_parser

Crates.iomf2_parser
lib.rsmf2_parser
version0.1.1
sourcesrc
created_at2024-10-13 15:23:05.725641
updated_at2024-10-13 15:29:40.406594
descriptionParser and AST definitions for MessageFormat 2
homepage
repositoryhttps://github.com/lucacasonato/mf2-tools
max_upload_size
id1407415
size150,006
Nicolò Ribaudo (nicolo-ribaudo)

documentation

README

mf2_parser

The mf2_parser crate provides a parser for the Message Format 2 syntax. It can parse any sequence of Unicode scalar values (valid UTF-8) into an AST representing the Message Format 2 syntax. The parser has very strong error recovery, so it can parse even very broken or incomplete input (like is common in editors).

Use the mf2_printer crate to pretty-print the AST back into the human-readable MessageFormat 2 syntax.

Usage

Add this to your Cargo.toml:

[dependencies]
mf2_parser = "0.1"

Then you can parse a string like this:

use mf2_parser::parse;

let (ast, diagnostics, source_text_info) = parse("Hello, {$name}!");
if !diagnostics.is_empty() {
  panic!("Failed to parse message: {:?}", diagnostics);
}

println!("AST: {:?}", ast);

License

This project is licensed under GPL-3.0-or-later.

Commit count: 148

cargo fmt