git.iko.soy/typeable/pandoc
on master help sign in
Text.Pandoc.Parsing: Export all Parsec functions used in pandoc code.

No other module directly imports Parsec. This will make it easier to change the parsing backend in the future, if we want to.

commit5085962c28aa35394c567da360fd065dc3bbd0e0 authorJohn MacFarlane <fiddlosopher@gmail.com> dateFri 20 Jul 2012, 14:41 (14 years ago) parenta4c28ea
10 files changed+57−14
src/Text/Pandoc/Biblio.hs+1−1 src/Text/Pandoc/Parsing.hs+52−1 src/Text/Pandoc/Readers/HTML.hs−2 src/Text/Pandoc/Readers/LaTeX.hs+1−2 src/Text/Pandoc/Readers/Markdown.hs−1 src/Text/Pandoc/Readers/RST.hs−1 src/Text/Pandoc/Readers/Textile.hs−1 src/Text/Pandoc/Templates.hs+1−1 src/Text/Pandoc/Writers/AsciiDoc.hs+1−2 src/Text/Pandoc/Writers/Markdown.hs+1−2
src/Text/Pandoc/Biblio.hs+1−1
@@ -38,7 +38,7 @@ import qualified Text.CSL as CSL ( Cite(..) )
3838import Text.Pandoc.Definition
3939import Text.Pandoc.Generic
4040import Text.Pandoc.Shared (stringify)
41−import Text.Parsec
41+import Text.Pandoc.Parsing
4242import Control.Monad
4343
4444-- | Process a 'Pandoc' document by adding citations formatted
src/Text/Pandoc/Parsing.hs+52−1
@@ -73,13 +73,64 @@ module Text.Pandoc.Parsing ( (>>~),
7373 lookupKeySrc,
7474 smartPunctuation,
7575 macro,
76− applyMacros' )
76+ applyMacros',
77+ -- * Re-exports from Text.Pandoc.Parsec
78+ Parsec,
79+ runParser,
80+ parse,
81+ anyToken,
82+ getInput,
83+ setInput,
84+ unexpected,
85+ char,
86+ letter,
87+ digit,
88+ alphaNum,
89+ skipMany,
90+ skipMany1,
91+ spaces,
92+ space,
93+ anyChar,
94+ satisfy,
95+ newline,
96+ string,
97+ count,
98+ eof,
99+ noneOf,
100+ oneOf,
101+ lookAhead,
102+ notFollowedBy,
103+ many,
104+ many1,
105+ manyTill,
106+ (<|>),
107+ (<?>),
108+ choice,
109+ try,
110+ sepBy1,
111+ sepBy,
112+ sepEndBy,
113+ endBy1,
114+ option,
115+ optional,
116+ optionMaybe,
117+ getState,
118+ setState,
119+ updateState,
120+ getPosition,
121+ setPosition,
122+ sourceColumn,
123+ sourceLine,
124+ newPos,
125+ token
126+ )
77127where
78128
79129import Text.Pandoc.Definition
80130import Text.Pandoc.Generic
81131import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn)
82132import Text.Parsec
133+import Text.Parsec.Pos (newPos)
83134import Data.Char ( toLower, toUpper, ord, isAscii, isAlphaNum, isDigit, isPunctuation )
84135import Data.List ( intercalate, transpose )
85136import Network.URI ( parseURI, URI (..), isAllowedInURI )
src/Text/Pandoc/Readers/HTML.hs−2
@@ -36,8 +36,6 @@ module Text.Pandoc.Readers.HTML ( readHtml
3636 , isCommentTag
3737 ) where
3838
39−import Text.Parsec
40−import Text.Parsec.Pos
4139import Text.HTML.TagSoup
4240import Text.HTML.TagSoup.Match
4341import Text.Pandoc.Definition
src/Text/Pandoc/Readers/LaTeX.hs+1−2
@@ -33,10 +33,9 @@ module Text.Pandoc.Readers.LaTeX ( readLaTeX,
3333 handleIncludes
3434 ) where
3535
36−import Text.Parsec hiding ((<|>), space, many, optional)
3736import Text.Pandoc.Definition
3837import Text.Pandoc.Shared
39−import Text.Pandoc.Parsing
38+import Text.Pandoc.Parsing hiding ((<|>), many, optional, space)
4039import qualified Text.Pandoc.UTF8 as UTF8
4140import Data.Char ( chr, ord )
4241import Control.Monad
src/Text/Pandoc/Readers/Markdown.hs−1
@@ -43,7 +43,6 @@ import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
4343import Text.Pandoc.Readers.HTML ( htmlTag, htmlInBalanced, isInlineTag, isBlockTag,
4444 isTextTag, isCommentTag )
4545import Text.Pandoc.XML ( fromEntities )
46−import Text.Parsec
4746import Control.Monad (when, liftM, guard, mzero)
4847import Text.HTML.TagSoup
4948import Text.HTML.TagSoup.Match (tagOpen)
src/Text/Pandoc/Readers/RST.hs−1
@@ -33,7 +33,6 @@ module Text.Pandoc.Readers.RST (
3333import Text.Pandoc.Definition
3434import Text.Pandoc.Shared
3535import Text.Pandoc.Parsing
36−import Text.Parsec
3736import Control.Monad ( when, liftM, guard, mzero )
3837import Data.List ( findIndex, intercalate, transpose, sort, deleteFirstsBy )
3938import qualified Data.Map as M
src/Text/Pandoc/Readers/Textile.hs−1
@@ -60,7 +60,6 @@ import Text.Pandoc.Shared
6060import Text.Pandoc.Parsing
6161import Text.Pandoc.Readers.HTML ( htmlTag, isInlineTag, isBlockTag )
6262import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
63−import Text.Parsec
6463import Text.HTML.TagSoup.Match
6564import Data.Char ( digitToInt, isUpper )
6665import Control.Monad ( guard, liftM )
src/Text/Pandoc/Templates.hs+1−1
@@ -68,7 +68,7 @@ module Text.Pandoc.Templates ( renderTemplate
6868 , TemplateTarget
6969 , getDefaultTemplate ) where
7070
71−import Text.Parsec
71+import Text.Pandoc.Parsing
7272import Control.Monad (liftM, when, forM, mzero)
7373import System.FilePath
7474import Data.List (intercalate, intersperse)
src/Text/Pandoc/Writers/AsciiDoc.hs+1−2
@@ -40,8 +40,7 @@ module Text.Pandoc.Writers.AsciiDoc (writeAsciiDoc) where
4040import Text.Pandoc.Definition
4141import Text.Pandoc.Templates (renderTemplate)
4242import Text.Pandoc.Shared
43−import Text.Pandoc.Parsing hiding (blankline)
44−import Text.Parsec ( Parsec, runParser )
43+import Text.Pandoc.Parsing hiding (blankline, space)
4544import Data.List ( isPrefixOf, intersperse, intercalate )
4645import Text.Pandoc.Pretty
4746import Control.Monad.State
src/Text/Pandoc/Writers/Markdown.hs+1−2
@@ -35,8 +35,7 @@ import Text.Pandoc.Definition
3535import Text.Pandoc.Generic
3636import Text.Pandoc.Templates (renderTemplate)
3737import Text.Pandoc.Shared
38−import Text.Pandoc.Parsing hiding (blankline)
39−import Text.Parsec ( Parsec, runParser )
38+import Text.Pandoc.Parsing hiding (blankline, char, space)
4039import Data.List ( group, isPrefixOf, find, intersperse, transpose )
4140import Text.Pandoc.Pretty
4241import Control.Monad.State