refacotr(orgize): remove some anonymous lifetimes
This commit is contained in:
parent
a8861cbe9c
commit
0c76fd80f6
|
@ -107,7 +107,7 @@ impl From<FromUtf8Error> for MyError {
|
||||||
struct MyHtmlHandler(DefaultHtmlHandler);
|
struct MyHtmlHandler(DefaultHtmlHandler);
|
||||||
|
|
||||||
impl HtmlHandler<MyError> for MyHtmlHandler {
|
impl HtmlHandler<MyError> for MyHtmlHandler {
|
||||||
fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
fn start<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
if let Element::Title(title) = element {
|
if let Element::Title(title) = element {
|
||||||
if title.level > 6 {
|
if title.level > 6 {
|
||||||
return Err(MyError::Heading);
|
return Err(MyError::Heading);
|
||||||
|
@ -126,7 +126,7 @@ impl HtmlHandler<MyError> for MyHtmlHandler {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn end<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
fn end<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
if let Element::Title(title) = element {
|
if let Element::Title(title) = element {
|
||||||
write!(w, "</a></h{}>", title.level)?;
|
write!(w, "</a></h{}>", title.level)?;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -33,7 +33,7 @@ impl From<FromUtf8Error> for MyError {
|
||||||
struct MyHtmlHandler(DefaultHtmlHandler);
|
struct MyHtmlHandler(DefaultHtmlHandler);
|
||||||
|
|
||||||
impl HtmlHandler<MyError> for MyHtmlHandler {
|
impl HtmlHandler<MyError> for MyHtmlHandler {
|
||||||
fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
fn start<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
if let Element::Title(title) = element {
|
if let Element::Title(title) = element {
|
||||||
if title.level > 6 {
|
if title.level > 6 {
|
||||||
return Err(MyError::Heading);
|
return Err(MyError::Heading);
|
||||||
|
@ -52,7 +52,7 @@ impl HtmlHandler<MyError> for MyHtmlHandler {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn end<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
fn end<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
if let Element::Title(title) = element {
|
if let Element::Title(title) = element {
|
||||||
write!(w, "</a></h{}>", title.level)?;
|
write!(w, "</a></h{}>", title.level)?;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -9,7 +9,7 @@ use crate::export::write_datetime;
|
||||||
pub struct Escape<S: AsRef<str>>(pub S);
|
pub struct Escape<S: AsRef<str>>(pub S);
|
||||||
|
|
||||||
impl<S: AsRef<str>> fmt::Display for Escape<S> {
|
impl<S: AsRef<str>> fmt::Display for Escape<S> {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
let mut pos = 0;
|
let mut pos = 0;
|
||||||
let bytes = self.0.as_ref().as_bytes();
|
let bytes = self.0.as_ref().as_bytes();
|
||||||
|
|
||||||
|
@ -308,7 +308,7 @@ mod syntect_handler {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<E: From<Error>, H: HtmlHandler<E>> HtmlHandler<E> for SyntectHtmlHandler<E, H> {
|
impl<E: From<Error>, H: HtmlHandler<E>> HtmlHandler<E> for SyntectHtmlHandler<E, H> {
|
||||||
fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), E> {
|
fn start<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), E> {
|
||||||
match element {
|
match element {
|
||||||
Element::InlineSrc(inline_src) => write!(
|
Element::InlineSrc(inline_src) => write!(
|
||||||
w,
|
w,
|
||||||
|
@ -342,7 +342,7 @@ mod syntect_handler {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn end<W: Write>(&mut self, w: W, element: &Element<'_>) -> Result<(), E> {
|
fn end<W: Write>(&mut self, w: W, element: &Element) -> Result<(), E> {
|
||||||
self.inner.end(w, element)
|
self.inner.end(w, element)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
//! struct MyHtmlHandler(DefaultHtmlHandler);
|
//! struct MyHtmlHandler(DefaultHtmlHandler);
|
||||||
//!
|
//!
|
||||||
//! impl HtmlHandler<MyError> for MyHtmlHandler {
|
//! impl HtmlHandler<MyError> for MyHtmlHandler {
|
||||||
//! fn start<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
//! fn start<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
//! if let Element::Title(title) = element {
|
//! if let Element::Title(title) = element {
|
||||||
//! if title.level > 6 {
|
//! if title.level > 6 {
|
||||||
//! return Err(MyError::Heading);
|
//! return Err(MyError::Heading);
|
||||||
|
@ -137,7 +137,7 @@
|
||||||
//! Ok(())
|
//! Ok(())
|
||||||
//! }
|
//! }
|
||||||
//!
|
//!
|
||||||
//! fn end<W: Write>(&mut self, mut w: W, element: &Element<'_>) -> Result<(), MyError> {
|
//! fn end<W: Write>(&mut self, mut w: W, element: &Element) -> Result<(), MyError> {
|
||||||
//! if let Element::Title(title) = element {
|
//! if let Element::Title(title) = element {
|
||||||
//! write!(w, "</a></h{}>", title.level)?;
|
//! write!(w, "</a></h{}>", title.level)?;
|
||||||
//! } else {
|
//! } else {
|
||||||
|
|
|
@ -15,7 +15,7 @@ pub struct HeadlineNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl HeadlineNode {
|
impl HeadlineNode {
|
||||||
pub(crate) fn new(node: NodeId, level: usize, org: &Org<'_>) -> HeadlineNode {
|
pub(crate) fn new(node: NodeId, level: usize, org: &Org) -> HeadlineNode {
|
||||||
let title_node = org.arena[node].first_child().unwrap();
|
let title_node = org.arena[node].first_child().unwrap();
|
||||||
let section_node = if let Some(node) = org.arena[title_node].next_sibling() {
|
let section_node = if let Some(node) = org.arena[title_node].next_sibling() {
|
||||||
if let Element::Section = org.arena[node].get() {
|
if let Element::Section = org.arena[node].get() {
|
||||||
|
@ -127,7 +127,7 @@ impl HeadlineNode {
|
||||||
org.debug_validate();
|
org.debug_validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parent(self, org: &Org<'_>) -> Option<HeadlineNode> {
|
pub fn parent(self, org: &Org) -> Option<HeadlineNode> {
|
||||||
org.arena[self.node].parent().map(|node| {
|
org.arena[self.node].parent().map(|node| {
|
||||||
if let Element::Headline { level } = *org.arena[node].get() {
|
if let Element::Headline { level } = *org.arena[node].get() {
|
||||||
HeadlineNode::new(node, level, org)
|
HeadlineNode::new(node, level, org)
|
||||||
|
@ -137,7 +137,7 @@ impl HeadlineNode {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn children<'c>(self, org: &'c Org<'_>) -> impl Iterator<Item = HeadlineNode> + 'c {
|
pub fn children<'a>(self, org: &'a Org) -> impl Iterator<Item = HeadlineNode> + 'a {
|
||||||
self.node.children(&org.arena).filter_map(move |node| {
|
self.node.children(&org.arena).filter_map(move |node| {
|
||||||
if let Element::Headline { level } = *org.arena[node].get() {
|
if let Element::Headline { level } = *org.arena[node].get() {
|
||||||
Some(HeadlineNode::new(node, level, org))
|
Some(HeadlineNode::new(node, level, org))
|
||||||
|
@ -147,7 +147,7 @@ impl HeadlineNode {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn previous_headline(self, org: &Org<'_>) -> Option<HeadlineNode> {
|
pub fn previous_headline(self, org: &Org) -> Option<HeadlineNode> {
|
||||||
if let Some(node) = org.arena[self.node].previous_sibling() {
|
if let Some(node) = org.arena[self.node].previous_sibling() {
|
||||||
if let Element::Headline { level } = *org.arena[node].get() {
|
if let Element::Headline { level } = *org.arena[node].get() {
|
||||||
Some(HeadlineNode::new(node, level, org))
|
Some(HeadlineNode::new(node, level, org))
|
||||||
|
@ -160,7 +160,7 @@ impl HeadlineNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn next_headline(self, org: &Org<'_>) -> Option<HeadlineNode> {
|
pub fn next_headline(self, org: &Org) -> Option<HeadlineNode> {
|
||||||
if let Some(node) = org.arena[self.node].next_sibling() {
|
if let Some(node) = org.arena[self.node].next_sibling() {
|
||||||
if let Element::Headline { level } = *org.arena[node].get() {
|
if let Element::Headline { level } = *org.arena[node].get() {
|
||||||
Some(HeadlineNode::new(node, level, org))
|
Some(HeadlineNode::new(node, level, org))
|
||||||
|
@ -172,13 +172,13 @@ impl HeadlineNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn detach(self, org: &mut Org<'_>) {
|
pub fn detach(self, org: &mut Org) {
|
||||||
self.node.detach(&mut org.arena);
|
self.node.detach(&mut org.arena);
|
||||||
|
|
||||||
org.debug_validate();
|
org.debug_validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_detached(self, org: &Org<'_>) -> bool {
|
pub fn is_detached(self, org: &Org) -> bool {
|
||||||
self.parent(&org).is_none()
|
self.parent(&org).is_none()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ impl HeadlineNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn append(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
pub fn append(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ impl HeadlineNode {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn prepend(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
pub fn prepend(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
@ -238,11 +238,7 @@ impl HeadlineNode {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn insert_before(
|
pub fn insert_before(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
self,
|
|
||||||
headline: HeadlineNode,
|
|
||||||
org: &mut Org<'_>,
|
|
||||||
) -> Result<(), OrgizeError> {
|
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
@ -260,11 +256,7 @@ impl HeadlineNode {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn insert_after(
|
pub fn insert_after(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
self,
|
|
||||||
headline: HeadlineNode,
|
|
||||||
org: &mut Org<'_>,
|
|
||||||
) -> Result<(), OrgizeError> {
|
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
@ -291,7 +283,7 @@ pub struct DocumentNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DocumentNode {
|
impl DocumentNode {
|
||||||
pub(crate) fn new(org: &Org<'_>) -> DocumentNode {
|
pub(crate) fn new(org: &Org) -> DocumentNode {
|
||||||
if let Some(node) = org.arena[org.root].first_child() {
|
if let Some(node) = org.arena[org.root].first_child() {
|
||||||
if let Element::Section = org.arena[node].get() {
|
if let Element::Section = org.arena[node].get() {
|
||||||
DocumentNode {
|
DocumentNode {
|
||||||
|
@ -305,7 +297,7 @@ impl DocumentNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn children<'c>(self, org: &'c Org<'_>) -> impl Iterator<Item = HeadlineNode> + 'c {
|
pub fn children<'a>(self, org: &'a Org) -> impl Iterator<Item = HeadlineNode> + 'a {
|
||||||
org.root.children(&org.arena).filter_map(move |node| {
|
org.root.children(&org.arena).filter_map(move |node| {
|
||||||
if let Element::Headline { level } = *org.arena[node].get() {
|
if let Element::Headline { level } = *org.arena[node].get() {
|
||||||
Some(HeadlineNode::new(node, level, org))
|
Some(HeadlineNode::new(node, level, org))
|
||||||
|
@ -344,7 +336,7 @@ impl DocumentNode {
|
||||||
org.debug_validate();
|
org.debug_validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn append(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
pub fn append(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
@ -360,7 +352,7 @@ impl DocumentNode {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn prepend(self, headline: HeadlineNode, org: &mut Org<'_>) -> Result<(), OrgizeError> {
|
pub fn prepend(self, headline: HeadlineNode, org: &mut Org) -> Result<(), OrgizeError> {
|
||||||
if !headline.is_detached(org) {
|
if !headline.is_detached(org) {
|
||||||
return Err(OrgizeError::Detached { at: headline.node });
|
return Err(OrgizeError::Detached { at: headline.node });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue