Name Description Size Coverage
comment.rs 2310 -
core.rs 8829 -
errors.rs 5228 -
expression.rs 8288 -
helper.rs 4741 -
macros.rs 338 -
mod.rs Fluent Translation List parsing utilities FTL resources can be parsed using one of two methods: * [`parse`] - parses an input into a complete Abstract Syntax Tree representation with all source information preserved. * [`parse_runtime`] - parses an input into a runtime optimized Abstract Syntax Tree representation with comments stripped. # Example ``` use fluent_syntax::parser; use fluent_syntax::ast; let ftl = r#" #### Resource Level Comment ## This is a message comment hello-world = Hello World! "#; let resource = parser::parse(ftl) .expect("Failed to parse an FTL resource."); assert_eq!( resource.body[0], ast::Entry::ResourceComment( ast::Comment { content: vec![ "Resource Level Comment" ] } ) ); assert_eq!( resource.body[1], ast::Entry::Message( ast::Message { id: ast::Identifier { name: "hello-world" }, value: Some(ast::Pattern { elements: vec![ ast::PatternElement::TextElement { value: "Hello World!" }, ] }), attributes: vec![], comment: Some( ast::Comment { content: vec!["This is a message comment"] } ) } ), ); ``` # Error Recovery In both modes the parser is lenient, attempting to recover from errors. The [`Result`] return the resulting AST in both scenarios, and in the error scenario a vector of [`ParserError`] elements is returned as well. Any unparsed parts of the input are returned as [`ast::Entry::Junk`] elements. 7187 -
pattern.rs 8118 -
runtime.rs 1786 -
slice.rs 671 -