#![allow(dead_code)]
use crate::parse::text_block::TextBlock;
use crate::parse::text_block::find_text_block;
use crate::syntax::Parsed;
use crate::syntax::SyntaxKind;
use crate::syntax::SyntaxNode;
#[derive(Debug, Clone, Copy)]
pub struct PlainDocstring<'a> {
pub(crate) parsed: &'a Parsed,
pub(crate) node: &'a SyntaxNode,
}
impl<'a> PlainDocstring<'a> {
pub fn cast(parsed: &'a Parsed, node: &'a SyntaxNode) -> Option<Self> {
(node.kind() == SyntaxKind::DOCUMENT).then_some(Self { parsed, node })
}
pub fn syntax(&self) -> &'a SyntaxNode {
self.node
}
pub fn summary(&self) -> Option<TextBlock<'a>> {
find_text_block(self.parsed, self.node, SyntaxKind::SUMMARY)
}
pub fn extended_summary(&self) -> Option<TextBlock<'a>> {
find_text_block(self.parsed, self.node, SyntaxKind::EXTENDED_SUMMARY)
}
}