1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
//! High-level bindings for the [LibYAML] library. //! //! [LibYAML]: https://github.com/yaml/libyaml //! //! # Reading YAML //! //! To read a YAML stream, use [`Parser`]. This example counts the number of //! alias events in a stream. //! //! ``` //! # use std::io; //! # use libyaml::*; //! # //! # fn doctest<R: io::Read>(reader: R) -> Result<(), ParserError> { //! let alias_count = Parser::new(reader)?.into_iter().filter(|e| { //! if let Ok(Event::Alias { .. }) = e { true } else { false } //! }).count(); //! # Ok(()) //! # } //! ``` //! //! [`Parser`]: struct.Parser.html //! //! # Writing YAML //! //! To write a YAML stream, use [`Emitter`]. This example writes a stream with //! a single document consisting of a single scalar. //! //! ``` //! # use std::io; //! # use libyaml::*; //! # //! # fn doctest<W: io::Write>(writer: W) -> Result<(), EmitterError> { //! let mut emitter = Emitter::new(writer)?; //! //! emitter.emit(Event::StreamStart { encoding: None })?; //! emitter.emit(Event::DocumentStart { implicit: true })?; //! emitter.emit(Event::Scalar { //! anchor: None, //! tag: Some(tag::INT.to_string()), //! value: "42".to_string(), //! plain_implicit: false, //! quoted_implicit: false, //! style: None, //! })?; //! emitter.emit(Event::DocumentEnd { implicit: true })?; //! emitter.emit(Event::StreamEnd)?; //! # Ok(()) //! # } //! ``` //! //! [`Emitter`]: struct.Emitter.html pub mod tag; pub use self::emitter::Emitter; pub use self::emitter_builder::EmitterBuilder; pub use self::emitter_error::EmitterError; pub use self::encoding::Encoding; pub use self::event::Event; pub use self::event_error::EventError; pub use self::lib_version::lib_version; pub use self::lib_version_string::lib_version_string; pub use self::line_break::LineBreak; pub use self::mapping_style::MappingStyle; pub use self::parser::Parser; pub use self::parser_builder::ParserBuilder; pub use self::parser_error::ParserError; pub use self::parser_iter::ParserIter; pub use self::scalar_style::ScalarStyle; pub use self::sequence_style::SequenceStyle; pub use self::tag_directive::TagDirective; pub use self::version_directive::VersionDirective; mod emitter; mod emitter_builder; mod emitter_error; mod encoding; mod event; mod event_error; mod lib_version; mod lib_version_string; mod line_break; mod mapping_style; mod parser; mod parser_builder; mod parser_error; mod parser_iter; mod scalar_style; mod sequence_style; mod tag_directive; mod version_directive;