diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2017-04-17 10:04:20 +0200 |
---|---|---|
committer | Albert Krewinkel <albert+github@zeitkraut.de> | 2017-04-26 23:28:40 +0200 |
commit | 3ac23ab615e67c5d08941fcebeb1d19d37ff1a46 (patch) | |
tree | 544ae88298e455cfb1f2c40a880c4097ef8e00d3 /src/Text/Pandoc.hs | |
parent | 9cd20c9b8b1fa3bd4581399327d61551558cf899 (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.hs | 61 |
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 = |