[][src]Function doctor::parse

pub fn parse(input: &str) -> Result<DocComment<'_>, String>

Parses input into a DocComment struct representing the doc comment's AST.

Examples

use doctor::parse;
use doctor::ast::{DocComment, Description, DescriptionBodyItem, InlineTag};

assert_eq!(
    parse(r#"/**
        * This is a doc comment.
        * It contains an {@inlineTag with some body} in its description.
        */"#
    ),
    Ok(DocComment {
        description: Some(Description {
            body_items: vec![
                DescriptionBodyItem::TextSegment("This is a doc comment.\n"),
                DescriptionBodyItem::TextSegment("It contains an "),
                DescriptionBodyItem::InlineTag(InlineTag {
                    name: "inlineTag",
                    body_lines: vec!["with some body"],
                }),
                DescriptionBodyItem::TextSegment("in its description.\n")
            ]
        }),
        block_tags: vec![]
    }),
);