summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc.hs
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2017-04-17 10:04:20 +0200
committerAlbert Krewinkel <albert+github@zeitkraut.de>2017-04-26 23:28:40 +0200
commit3ac23ab615e67c5d08941fcebeb1d19d37ff1a46 (patch)
tree544ae88298e455cfb1f2c40a880c4097ef8e00d3 /src/Text/Pandoc.hs
parent9cd20c9b8b1fa3bd4581399327d61551558cf899 (diff)
API change: move extension handling to Text.Pandoc.Extensions
Extension parsing and processing functions were defined in the top-level Text.Pandoc module. These functions are moved to the Extensions submodule as to enable reuse in other submodules.
Diffstat (limited to 'src/Text/Pandoc.hs')
-rw-r--r--src/Text/Pandoc.hs61
1 files changed, 1 insertions, 60 deletions
diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs
index 977ad1ab4..5d495299f 100644
--- a/src/Text/Pandoc.hs
+++ b/src/Text/Pandoc.hs
@@ -144,7 +144,6 @@ module Text.Pandoc
-- * Miscellaneous
, getReader
, getWriter
- , getDefaultExtensions
, pandocVersion
) where
@@ -175,7 +174,7 @@ import Text.Pandoc.Readers.RST
import Text.Pandoc.Readers.Textile
import Text.Pandoc.Readers.TWiki
import Text.Pandoc.Readers.Txt2Tags
-import Text.Pandoc.Shared (mapLeft, pandocVersion, safeRead)
+import Text.Pandoc.Shared (mapLeft, pandocVersion)
import Text.Pandoc.Templates
import qualified Text.Pandoc.UTF8 as UTF8
import Text.Pandoc.Writers.AsciiDoc
@@ -208,29 +207,8 @@ import Text.Pandoc.Writers.TEI
import Text.Pandoc.Writers.Texinfo
import Text.Pandoc.Writers.Textile
import Text.Pandoc.Writers.ZimWiki
-import Text.Parsec
import Text.Parsec.Error
-parseFormatSpec :: String
- -> Either ParseError (String, Extensions -> Extensions)
-parseFormatSpec = parse formatSpec ""
- where formatSpec = do
- name <- formatName
- extMods <- many extMod
- return (name, \x -> foldl (flip ($)) x extMods)
- formatName = many1 $ noneOf "-+"
- extMod = do
- polarity <- oneOf "-+"
- name <- many $ noneOf "-+"
- ext <- case safeRead ("Ext_" ++ name) of
- Just n -> return n
- Nothing
- | name == "lhs" -> return Ext_literate_haskell
- | otherwise -> fail $ "Unknown extension: " ++ name
- return $ case polarity of
- '-' -> disableExtension ext
- _ -> enableExtension ext
-
data Reader m = StringReader (ReaderOptions -> String -> m Pandoc)
| ByteStringReader (ReaderOptions -> BL.ByteString -> m Pandoc)
@@ -318,43 +296,6 @@ writers = [
,("muse" , StringWriter writeMuse)
]
-getDefaultExtensions :: String -> Extensions
-getDefaultExtensions "markdown_strict" = strictExtensions
-getDefaultExtensions "markdown_phpextra" = phpMarkdownExtraExtensions
-getDefaultExtensions "markdown_mmd" = multimarkdownExtensions
-getDefaultExtensions "markdown_github" = githubMarkdownExtensions
-getDefaultExtensions "markdown" = pandocExtensions
-getDefaultExtensions "plain" = plainExtensions
-getDefaultExtensions "org" = extensionsFromList
- [Ext_citations,
- Ext_auto_identifiers]
-getDefaultExtensions "html" = extensionsFromList
- [Ext_auto_identifiers,
- Ext_native_divs,
- Ext_native_spans]
-getDefaultExtensions "html4" = getDefaultExtensions "html"
-getDefaultExtensions "html5" = getDefaultExtensions "html"
-getDefaultExtensions "epub" = extensionsFromList
- [Ext_raw_html,
- Ext_native_divs,
- Ext_native_spans,
- Ext_epub_html_exts]
-getDefaultExtensions "epub2" = getDefaultExtensions "epub"
-getDefaultExtensions "epub3" = getDefaultExtensions "epub"
-getDefaultExtensions "latex" = extensionsFromList
- [Ext_smart,
- Ext_auto_identifiers]
-getDefaultExtensions "context" = extensionsFromList
- [Ext_smart,
- Ext_auto_identifiers]
-getDefaultExtensions "textile" = extensionsFromList
- [Ext_old_dashes,
- Ext_smart,
- Ext_raw_html,
- Ext_auto_identifiers]
-getDefaultExtensions _ = extensionsFromList
- [Ext_auto_identifiers]
-
-- | Retrieve reader based on formatSpec (format+extensions).
getReader :: PandocMonad m => String -> Either String (Reader m)
getReader s =