Name Description Size
comment.rs 2338
core.rs 8840
errors.rs 5220
expression.rs 8288
helper.rs 4741
macros.rs 222
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. 7144
pattern.rs 7720
runtime.rs 1786
slice.rs 531