feat: Org::keywords function
This commit is contained in:
parent
b446471535
commit
ab377b2cc5
13
src/org.rs
13
src/org.rs
|
@ -4,7 +4,7 @@ use std::ops::{Index, IndexMut};
|
|||
|
||||
use crate::{
|
||||
config::{ParseConfig, DEFAULT_CONFIG},
|
||||
elements::Element,
|
||||
elements::{Element, Keyword},
|
||||
export::{DefaultHtmlHandler, DefaultOrgHandler, HtmlHandler, OrgHandler},
|
||||
parsers::{blank_lines, parse_container, Container},
|
||||
};
|
||||
|
@ -78,6 +78,17 @@ impl<'a> Org<'a> {
|
|||
})
|
||||
}
|
||||
|
||||
/// Returns an iterator of `Keyword`s.
|
||||
pub fn keywords(&self) -> impl Iterator<Item = &Keyword<'_>> {
|
||||
self.root
|
||||
.descendants(&self.arena)
|
||||
.skip(1)
|
||||
.filter_map(move |node| match &self[node] {
|
||||
Element::Keyword(kw) => Some(kw),
|
||||
_ => None,
|
||||
})
|
||||
}
|
||||
|
||||
/// Writes an `Org` struct as html format.
|
||||
pub fn write_html<W>(&self, writer: W) -> Result<(), Error>
|
||||
where
|
||||
|
|
Loading…
Reference in a new issue