asciidoc_parser::document

Struct Document

Source
pub struct Document<'src> { /* private fields */ }
Expand description

A document represents the top-level block element in AsciiDoc. It consists of an optional document header and either a) one or more sections preceded by an optional preamble or b) a sequence of top-level blocks only.

The document can be configured using a document header. The header is not a block itself, but contributes metadata to the document, such as the document title and document attributes.

Implementations§

Source§

impl<'src> Document<'src>

Source

pub fn parse(source: &'src str) -> Self

Parse a UTF-8 string as an AsciiDoc document.

Note that the document references the underlying source string and necessarily has the same lifetime as the source.

The Document data structure returned by this call and nearly all data structures contained within it are gated by the lifetime of the source text passed in to this function. For that reason all of those data structures are given the lifetime 'src.

IMPORTANT: The AsciiDoc language documentation states that UTF-16 encoding is allowed if a byte-order-mark (BOM) is present at the start of a file. This format is not directly supported by the asciidoc-parser crate. Any UTF-16 content must be re-encoded as UTF-8 prior to parsing.

Any UTF-8 string is a valid AsciiDoc document, so there is no Option or Result on this API. There may be any number of character sequences that have ambiguous or potentially unintended meanings. For that reason, a caller is advised to review the warnings provided via the Self::warnings iterator.

Source

pub fn header(&'src self) -> &'src Header<'src>

Return the document header.

Source

pub fn warnings(&'src self) -> Iter<'src, Warning<'src>>

Return an iterator over any warnings found during parsing.

Trait Implementations§

Source§

impl<'src> Clone for Document<'src>

Source§

fn clone(&self) -> Document<'src>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'src> Debug for Document<'src>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'src> HasSpan<'src> for Document<'src>

Source§

fn span(&'src self) -> &'src Span<'src>

Return a Span describing the syntactic element’s location within the source string/file.
Source§

impl<'src> IsBlock<'src> for Document<'src>

Source§

fn content_model(&self) -> ContentModel

Returns the ContentModel for this block.
Source§

fn context(&self) -> CowStr<'src>

Returns the context for this block. Read more
Source§

fn nested_blocks(&'src self) -> Iter<'src, Block<'src>>

Returns an iterator over the nested blocks contained within this block. Read more
Source§

impl<'src> PartialEq for Document<'src>

Source§

fn eq(&self, other: &Document<'src>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'src> Eq for Document<'src>

Source§

impl<'src> StructuralPartialEq for Document<'src>

Auto Trait Implementations§

§

impl<'src> Freeze for Document<'src>

§

impl<'src> RefUnwindSafe for Document<'src>

§

impl<'src> Send for Document<'src>

§

impl<'src> Sync for Document<'src>

§

impl<'src> Unpin for Document<'src>

§

impl<'src> UnwindSafe for Document<'src>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.