🩺 doctor

Fast and flexible low level parser for JavaDoc-style doc comments

crates.io docs.rs

About

This crate seeks to be a low-level parser for Javadoc-style doc comment formats, e.g. JavaDoc, JSDoc, TSDoc, etc.

Example

```rust use doctor::parse; use doctor::ast::{DocComment, Description, BodyItem, InlineTag};

asserteq!( parse(r#"/** * This is a doc comment. * It contains an {@inlineTag with some body} in its description. */"# ), Ok(DocComment { description: Some(Description { bodyitems: vec![ BodyItem::TextSegment("This is a doc comment.\n"), BodyItem::TextSegment("It contains an "), BodyItem::InlineTag(InlineTag { name: "inlineTag", bodylines: vec!["with some body"], }), BodyItem::TextSegment("in its description.\n") ] }), blocktags: vec![] }), ); ```

🔮 Design Goals

👯‍ Contributing

Please check the contributing documentation