git.iko.soy/typeable/pandoc
on master help sign in
Text.Pandoc.Parsing: Export all Parsec functions used in pandoc code.
5085962John MacFarlane
src/Text/Pandoc/Biblio.hs+1−1
@@ -38,7 +38,7 @@ import qualified Text.CSL as CSL ( Cite(..) )
38import Text.Pandoc.Definition
38import Text.Pandoc.Definition
39import Text.Pandoc.Generic
39import Text.Pandoc.Generic
40import Text.Pandoc.Shared (stringify)
40import Text.Pandoc.Shared (stringify)
41−import Text.Parsec
41+import Text.Pandoc.Parsing
42import Control.Monad
42import Control.Monad
43
43
44-- | Process a 'Pandoc' document by adding citations formatted
44-- | Process a 'Pandoc' document by adding citations formatted
src/Text/Pandoc/Parsing.hs+52−1
@@ -73,13 +73,64 @@ module Text.Pandoc.Parsing ( (>>~),
73 lookupKeySrc,
73 lookupKeySrc,
74 smartPunctuation,
74 smartPunctuation,
75 macro,
75 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+ )
77where
127where
78
128
79import Text.Pandoc.Definition
129import Text.Pandoc.Definition
80import Text.Pandoc.Generic
130import Text.Pandoc.Generic
81import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn)
131import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn)
82import Text.Parsec
132import Text.Parsec
133+import Text.Parsec.Pos (newPos)
83import Data.Char ( toLower, toUpper, ord, isAscii, isAlphaNum, isDigit, isPunctuation )
134import Data.Char ( toLower, toUpper, ord, isAscii, isAlphaNum, isDigit, isPunctuation )
84import Data.List ( intercalate, transpose )
135import Data.List ( intercalate, transpose )
85import Network.URI ( parseURI, URI (..), isAllowedInURI )
136import Network.URI ( parseURI, URI (..), isAllowedInURI )
src/Text/Pandoc/Readers/HTML.hs−2
@@ -36,8 +36,6 @@ module Text.Pandoc.Readers.HTML ( readHtml
36 , isCommentTag
36 , isCommentTag
37 ) where
37 ) where
38
38
39−import Text.Parsec
40−import Text.Parsec.Pos
41import Text.HTML.TagSoup
39import Text.HTML.TagSoup
42import Text.HTML.TagSoup.Match
40import Text.HTML.TagSoup.Match
43import Text.Pandoc.Definition
41import Text.Pandoc.Definition
src/Text/Pandoc/Readers/LaTeX.hs+1−2
@@ -33,10 +33,9 @@ module Text.Pandoc.Readers.LaTeX ( readLaTeX,
33 handleIncludes
33 handleIncludes
34 ) where
34 ) where
35
35
36−import Text.Parsec hiding ((<|>), space, many, optional)
37import Text.Pandoc.Definition
36import Text.Pandoc.Definition
38import Text.Pandoc.Shared
37import Text.Pandoc.Shared
39−import Text.Pandoc.Parsing
38+import Text.Pandoc.Parsing hiding ((<|>), many, optional, space)
40import qualified Text.Pandoc.UTF8 as UTF8
39import qualified Text.Pandoc.UTF8 as UTF8
41import Data.Char ( chr, ord )
40import Data.Char ( chr, ord )
42import Control.Monad
41import Control.Monad
src/Text/Pandoc/Readers/Markdown.hs−1
@@ -43,7 +43,6 @@ import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
43import Text.Pandoc.Readers.HTML ( htmlTag, htmlInBalanced, isInlineTag, isBlockTag,
43import Text.Pandoc.Readers.HTML ( htmlTag, htmlInBalanced, isInlineTag, isBlockTag,
44 isTextTag, isCommentTag )
44 isTextTag, isCommentTag )
45import Text.Pandoc.XML ( fromEntities )
45import Text.Pandoc.XML ( fromEntities )
46−import Text.Parsec
47import Control.Monad (when, liftM, guard, mzero)
46import Control.Monad (when, liftM, guard, mzero)
48import Text.HTML.TagSoup
47import Text.HTML.TagSoup
49import Text.HTML.TagSoup.Match (tagOpen)
48import Text.HTML.TagSoup.Match (tagOpen)
src/Text/Pandoc/Readers/RST.hs−1
@@ -33,7 +33,6 @@ module Text.Pandoc.Readers.RST (
33import Text.Pandoc.Definition
33import Text.Pandoc.Definition
34import Text.Pandoc.Shared
34import Text.Pandoc.Shared
35import Text.Pandoc.Parsing
35import Text.Pandoc.Parsing
36−import Text.Parsec
37import Control.Monad ( when, liftM, guard, mzero )
36import Control.Monad ( when, liftM, guard, mzero )
38import Data.List ( findIndex, intercalate, transpose, sort, deleteFirstsBy )
37import Data.List ( findIndex, intercalate, transpose, sort, deleteFirstsBy )
39import qualified Data.Map as M
38import qualified Data.Map as M
src/Text/Pandoc/Readers/Textile.hs−1
@@ -60,7 +60,6 @@ import Text.Pandoc.Shared
60import Text.Pandoc.Parsing
60import Text.Pandoc.Parsing
61import Text.Pandoc.Readers.HTML ( htmlTag, isInlineTag, isBlockTag )
61import Text.Pandoc.Readers.HTML ( htmlTag, isInlineTag, isBlockTag )
62import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
62import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
63−import Text.Parsec
64import Text.HTML.TagSoup.Match
63import Text.HTML.TagSoup.Match
65import Data.Char ( digitToInt, isUpper )
64import Data.Char ( digitToInt, isUpper )
66import Control.Monad ( guard, liftM )
65import Control.Monad ( guard, liftM )
src/Text/Pandoc/Templates.hs+1−1
@@ -68,7 +68,7 @@ module Text.Pandoc.Templates ( renderTemplate
68 , TemplateTarget
68 , TemplateTarget
69 , getDefaultTemplate ) where
69 , getDefaultTemplate ) where
70
70
71−import Text.Parsec
71+import Text.Pandoc.Parsing
72import Control.Monad (liftM, when, forM, mzero)
72import Control.Monad (liftM, when, forM, mzero)
73import System.FilePath
73import System.FilePath
74import Data.List (intercalate, intersperse)
74import Data.List (intercalate, intersperse)
src/Text/Pandoc/Writers/AsciiDoc.hs+1−2
@@ -40,8 +40,7 @@ module Text.Pandoc.Writers.AsciiDoc (writeAsciiDoc) where
40import Text.Pandoc.Definition
40import Text.Pandoc.Definition
41import Text.Pandoc.Templates (renderTemplate)
41import Text.Pandoc.Templates (renderTemplate)
42import Text.Pandoc.Shared
42import Text.Pandoc.Shared
43−import Text.Pandoc.Parsing hiding (blankline)
43+import Text.Pandoc.Parsing hiding (blankline, space)
44−import Text.Parsec ( Parsec, runParser )
45import Data.List ( isPrefixOf, intersperse, intercalate )
44import Data.List ( isPrefixOf, intersperse, intercalate )
46import Text.Pandoc.Pretty
45import Text.Pandoc.Pretty
47import Control.Monad.State
46import Control.Monad.State
src/Text/Pandoc/Writers/Markdown.hs+1−2
@@ -35,8 +35,7 @@ import Text.Pandoc.Definition
35import Text.Pandoc.Generic
35import Text.Pandoc.Generic
36import Text.Pandoc.Templates (renderTemplate)
36import Text.Pandoc.Templates (renderTemplate)
37import Text.Pandoc.Shared
37import Text.Pandoc.Shared
38−import Text.Pandoc.Parsing hiding (blankline)
38+import Text.Pandoc.Parsing hiding (blankline, char, space)
39−import Text.Parsec ( Parsec, runParser )
40import Data.List ( group, isPrefixOf, find, intersperse, transpose )
39import Data.List ( group, isPrefixOf, find, intersperse, transpose )
41import Text.Pandoc.Pretty
40import Text.Pandoc.Pretty
42import Control.Monad.State
41import Control.Monad.State