diff --git a/src/export/html.rs b/src/export/html.rs
index 966196a..5979745 100644
--- a/src/export/html.rs
+++ b/src/export/html.rs
@@ -1,5 +1,5 @@
use std::fmt;
-use std::io::{Error, Write};
+use std::io::{Error, Result as IOResult, Write};
use jetscii::{bytes, BytesConst};
@@ -50,7 +50,16 @@ impl> fmt::Display for HtmlEscape {
}
pub trait HtmlHandler>: Default {
- fn start(&mut self, mut w: W, element: &Element) -> Result<(), E> {
+ fn start(&mut self, w: W, element: &Element) -> Result<(), E>;
+ fn end(&mut self, w: W, element: &Element) -> Result<(), E>;
+}
+
+/// Default Html Handler
+#[derive(Default)]
+pub struct DefaultHtmlHandler;
+
+impl HtmlHandler for DefaultHtmlHandler {
+ fn start(&mut self, mut w: W, element: &Element) -> IOResult<()> {
match element {
// container elements
Element::SpecialBlock(_) => (),
@@ -195,7 +204,7 @@ pub trait HtmlHandler>: Default {
Ok(())
}
- fn end(&mut self, mut w: W, element: &Element) -> Result<(), E> {
+ fn end(&mut self, mut w: W, element: &Element) -> IOResult<()> {
match element {
// container elements
Element::SpecialBlock(_) => (),
@@ -241,12 +250,6 @@ pub trait HtmlHandler>: Default {
}
}
-/// Default Html Handler
-#[derive(Default)]
-pub struct DefaultHtmlHandler;
-
-impl HtmlHandler for DefaultHtmlHandler {}
-
#[cfg(feature = "syntect")]
mod syntect_handler {
use super::*;
diff --git a/src/export/org.rs b/src/export/org.rs
index ba8b360..7e860d8 100644
--- a/src/export/org.rs
+++ b/src/export/org.rs
@@ -1,10 +1,18 @@
-use std::io::{Error, Write};
+use std::io::{Error, Result as IOResult, Write};
use crate::elements::{Clock, Element, Table, Timestamp};
use crate::export::write_datetime;
pub trait OrgHandler>: Default {
- fn start(&mut self, mut w: W, element: &Element) -> Result<(), E> {
+ fn start(&mut self, w: W, element: &Element) -> Result<(), E>;
+ fn end(&mut self, w: W, element: &Element) -> Result<(), E>;
+}
+
+#[derive(Default)]
+pub struct DefaultOrgHandler;
+
+impl OrgHandler for DefaultOrgHandler {
+ fn start(&mut self, mut w: W, element: &Element) -> IOResult<()> {
match element {
// container elements
Element::SpecialBlock(block) => {
@@ -189,7 +197,7 @@ pub trait OrgHandler>: Default {
Ok(())
}
- fn end(&mut self, mut w: W, element: &Element) -> Result<(), E> {
+ fn end(&mut self, mut w: W, element: &Element) -> IOResult<()> {
match element {
// container elements
Element::SpecialBlock(block) => {
@@ -311,8 +319,3 @@ fn write_timestamp(mut w: W, timestamp: &Timestamp) -> Result<(), Erro
}
Ok(())
}
-
-#[derive(Default)]
-pub struct DefaultOrgHandler;
-
-impl OrgHandler for DefaultOrgHandler {}