@@ -47,6 +47,7 @@ import Prelude
47import Control.Monad.Reader
47import Control.Monad.Reader
48import Control.Monad.State.Strict
48import Control.Monad.State.Strict
49import Data.Char (isSpace, isDigit, isAsciiUpper, isAsciiLower)
49import Data.Char (isSpace, isDigit, isAsciiUpper, isAsciiLower)
50import Data.Text (Text)
51import Data.Text (Text)
51import Data.List (intersperse, transpose, isInfixOf)
52import Data.List (intersperse, transpose, isInfixOf)
52import System.FilePath (takeExtension)
53import System.FilePath (takeExtension)
@@ -76,6 +77,11 @@ data WriterState =
76 , stIds :: Set.Set String
77 , stIds :: Set.Set String
80+instance Default WriterState
81+ where def = WriterState { stNotes = []
79evalMuse :: PandocMonad m => Muse m a -> WriterEnv -> WriterState -> m a
85evalMuse :: PandocMonad m => Muse m a -> WriterEnv -> WriterState -> m a
80evalMuse document env st = evalStateT (runReaderT document env) st
86evalMuse document env st = evalStateT (runReaderT document env) st
@@ -85,14 +91,11 @@ writeMuse :: PandocMonad m
87writeMuse opts document =
93writeMuse opts document =
88− evalMuse (pandocToMuse document) env st
94+ evalMuse (pandocToMuse document) env def
89− where env = WriterEnv { envOptions = opts
95+ where env = WriterEnv { envOptions = opts
90− , envTopLevel = True
96+ , envTopLevel = True
91− , envInsideBlock = False
97+ , envInsideBlock = False
93− st = WriterState { stNotes = []
97-- | Return Muse representation of document.
100-- | Return Muse representation of document.
98pandocToMuse :: PandocMonad m
101pandocToMuse :: PandocMonad m