From 82ddec698e782fef83dcd1b1fba79cd3b698c717 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 25 Mar 2014 15:38:30 -0700 Subject: LaTeX reader: Added LPState. Plan is to use this instead of ParserState in LP. --- src/Text/Pandoc/Readers/LaTeX.hs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index 8c3dac263..dd94c0ac1 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -43,6 +43,7 @@ import Text.Pandoc.Parsing hiding ((<|>), many, optional, space, import qualified Text.Pandoc.UTF8 as UTF8 import Data.Char ( chr, ord ) import Control.Monad +import Data.Default import Text.Pandoc.Builder import Data.Char (isLetter, isAlphaNum) import Control.Applicative @@ -71,6 +72,23 @@ parseLaTeX = do let (Pandoc _ bs') = doc bs return $ Pandoc meta bs' +data LPState = LPState{ + lpMeta :: Meta + , lpOptions :: ReaderOptions + , lpHasChapters :: Bool + , lpParserContext :: ParserContext + , lpQuoteContext :: QuoteContext + } deriving Show + +instance Default LPState where + def = LPState{ + lpMeta = nullMeta + , lpOptions = def + , lpHasChapters = False + , lpParserContext = NullState + , lpQuoteContext = NoQuote + } + type LP = Parser [Char] ParserState anyControlSeq :: LP String -- cgit v1.2.3