git.iko.soy/typeable/pandoc
on master help sign in
Automatic reformating by stylish-haskell.
commitff16db1aa306113132cc6cfaa70791a0db75e0a5 authorJohn MacFarlane <jgm@berkeley.edu> dateFri 27 Oct 2017, 20:28 (9 years ago) parentbf54a63
79 files changed+607−601
src/Text/Pandoc/App.hs+17−17 src/Text/Pandoc/BCP47.hs+6−6 src/Text/Pandoc/CSV.hs+3−3 src/Text/Pandoc/Data.hs+1−1 src/Text/Pandoc/Error.hs+4−4 src/Text/Pandoc/Extensions.hs+2−2 src/Text/Pandoc/Lua.hs+9−9 src/Text/Pandoc/Lua/PandocModule.hs+9−9 src/Text/Pandoc/Lua/StackInstances.hs+6−5 src/Text/Pandoc/Lua/Util.hs+2−2 src/Text/Pandoc/Options.hs+2−2 src/Text/Pandoc/PDF.hs+7−8 src/Text/Pandoc/Readers.hs+5−5 src/Text/Pandoc/Readers/CommonMark.hs+27−27 src/Text/Pandoc/Readers/Creole.hs+6−6 src/Text/Pandoc/Readers/Docx.hs+2−2 src/Text/Pandoc/Readers/EPUB.hs+2−2 src/Text/Pandoc/Readers/Haddock.hs+2−2 src/Text/Pandoc/Readers/LaTeX.hs+57−59 src/Text/Pandoc/Readers/Markdown.hs+4−5 src/Text/Pandoc/Readers/MediaWiki.hs+4−4 src/Text/Pandoc/Readers/Native.hs+1−1 src/Text/Pandoc/Readers/OPML.hs+2−2 src/Text/Pandoc/Readers/Odt.hs+18−18 src/Text/Pandoc/Readers/Odt/Arrows/State.hs+9−9 src/Text/Pandoc/Readers/Odt/Arrows/Utils.hs+4−4 src/Text/Pandoc/Readers/Odt/Base.hs+2−2 src/Text/Pandoc/Readers/Odt/ContentReader.hs+23−23 src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs+1−1 src/Text/Pandoc/Readers/Odt/Generic/Utils.hs+7−7 src/Text/Pandoc/Readers/Odt/Namespaces.hs+4−4 src/Text/Pandoc/Readers/Odt/StyleReader.hs+25−26 src/Text/Pandoc/Readers/Org/ParserState.hs+5−6 src/Text/Pandoc/Readers/RST.hs+21−21 src/Text/Pandoc/Readers/TWiki.hs+4−4 src/Text/Pandoc/Readers/Textile.hs+4−4 src/Text/Pandoc/Readers/TikiWiki.hs+24−22 src/Text/Pandoc/Readers/Txt2Tags.hs+11−10 src/Text/Pandoc/Readers/Vimwiki.hs+39−34 src/Text/Pandoc/SelfContained.hs+3−3 src/Text/Pandoc/Shared.hs+67−63 src/Text/Pandoc/Templates.hs+1−1 src/Text/Pandoc/Translations.hs+5−5 src/Text/Pandoc/Writers.hs+4−4 src/Text/Pandoc/Writers/CommonMark.hs+3−3 src/Text/Pandoc/Writers/ConTeXt.hs+25−25 src/Text/Pandoc/Writers/Custom.hs+3−3 src/Text/Pandoc/Writers/Docbook.hs+1−1 src/Text/Pandoc/Writers/Docx.hs+5−5 src/Text/Pandoc/Writers/DokuWiki.hs+2−2 src/Text/Pandoc/Writers/EPUB.hs+8−8 src/Text/Pandoc/Writers/FB2.hs+4−5 src/Text/Pandoc/Writers/HTML.hs+8−8 src/Text/Pandoc/Writers/Haddock.hs+1−1 src/Text/Pandoc/Writers/JATS.hs+3−3 src/Text/Pandoc/Writers/LaTeX.hs+2−2 src/Text/Pandoc/Writers/Man.hs+1−1 src/Text/Pandoc/Writers/Markdown.hs+3−3 src/Text/Pandoc/Writers/MediaWiki.hs+1−1 src/Text/Pandoc/Writers/Ms.hs+25−25 src/Text/Pandoc/Writers/Native.hs+1−1 src/Text/Pandoc/Writers/ODT.hs+1−1 src/Text/Pandoc/Writers/OpenDocument.hs+2−2 src/Text/Pandoc/Writers/Org.hs+2−2 src/Text/Pandoc/Writers/RST.hs+7−7 src/Text/Pandoc/Writers/RTF.hs+1−1 src/Text/Pandoc/Writers/TEI.hs+2−2 src/Text/Pandoc/Writers/Textile.hs+1−1 src/Text/Pandoc/Writers/ZimWiki.hs+3−3 test/Tests/Command.hs+3−3 test/Tests/Lua.hs+8−8 test/Tests/Readers/Docx.hs+4−4 test/Tests/Readers/HTML.hs+1−1 test/Tests/Readers/LaTeX.hs+2−2 test/Tests/Readers/Odt.hs+3−3 test/Tests/Shared.hs+1−1 test/Tests/Writers/Docx.hs+5−5 test/Tests/Writers/Muse.hs+1−1 test/test-pandoc.hs+3−3
src/Text/Pandoc/App.hs+17−17
@@ -42,18 +42,18 @@ module Text.Pandoc.App (
4242 ) where
4343import qualified Control.Exception as E
4444import Control.Monad
45−import Control.Monad.Except (throwError, catchError)
45+import Control.Monad.Except (catchError, throwError)
4646import Control.Monad.Trans
47−import Data.Monoid
4847import Data.Aeson (FromJSON (..), ToJSON (..), defaultOptions, eitherDecode',
4948 encode, genericToEncoding)
5049import qualified Data.ByteString as BS
5150import qualified Data.ByteString.Lazy as B
5251import Data.Char (toLower, toUpper)
5352import Data.Foldable (foldrM)
54−import Data.List (intercalate, isPrefixOf, isSuffixOf, sort, find)
53+import Data.List (find, intercalate, isPrefixOf, isSuffixOf, sort)
5554import qualified Data.Map as M
5655import Data.Maybe (fromMaybe, isJust, isNothing)
56+import Data.Monoid
5757import qualified Data.Set as Set
5858import Data.Text (Text)
5959import qualified Data.Text as T
@@ -72,25 +72,25 @@ import System.Environment (getArgs, getEnvironment, getProgName)
7272import System.Exit (ExitCode (..), exitSuccess)
7373import System.FilePath
7474import System.IO (nativeNewline, stdout)
75−import System.IO.Error (isDoesNotExistError)
7675import qualified System.IO as IO (Newline (..))
76+import System.IO.Error (isDoesNotExistError)
7777import Text.Pandoc
78+import Text.Pandoc.BCP47 (Lang (..), parseBCP47)
7879import Text.Pandoc.Builder (setMeta)
79−import Text.Pandoc.Class (PandocIO, extractMedia, fillMediaBag, getLog,
80− setResourcePath, setTrace, report, setRequestHeader,
81− setUserDataDir, readFileStrict, readDataFile,
82− readDefaultDataFile, setTranslations, openURL,
83− setInputFiles, setOutputFile)
80+import Text.Pandoc.Class (PandocIO, extractMedia, fillMediaBag, getLog, openURL,
81+ readDataFile, readDefaultDataFile, readFileStrict,
82+ report, setInputFiles, setOutputFile,
83+ setRequestHeader, setResourcePath, setTrace,
84+ setTranslations, setUserDataDir)
8485import Text.Pandoc.Highlighting (highlightingStyles)
85−import Text.Pandoc.BCP47 (parseBCP47, Lang(..))
86−import Text.Pandoc.Lua (runLuaFilter, LuaException(..))
87−import Text.Pandoc.Writers.Math (defaultMathJaxURL, defaultKaTeXURL)
86+import Text.Pandoc.Lua (LuaException (..), runLuaFilter)
8887import Text.Pandoc.PDF (makePDF)
8988import Text.Pandoc.Process (pipeProcess)
9089import Text.Pandoc.SelfContained (makeDataURI, makeSelfContained)
91−import Text.Pandoc.Shared (headerShift, isURI, ordNub,
92− safeRead, tabFilter, eastAsianLineBreakFilter)
90+import Text.Pandoc.Shared (eastAsianLineBreakFilter, headerShift, isURI, ordNub,
91+ safeRead, tabFilter)
9392import qualified Text.Pandoc.UTF8 as UTF8
93+import Text.Pandoc.Writers.Math (defaultKaTeXURL, defaultMathJaxURL)
9494import Text.Pandoc.XML (toEntities)
9595import Text.Printf
9696#ifndef _WINDOWS
@@ -414,7 +414,7 @@ convertWithOpts opts = do
414414
415415 case lookup "lang" (optMetadata opts) of
416416 Just l -> case parseBCP47 l of
417− Left _ -> return ()
417+ Left _ -> return ()
418418 Right l' -> setTranslations l'
419419 Nothing -> setTranslations $ Lang "en" "" "US" []
420420
@@ -649,7 +649,7 @@ data Opt = Opt
649649 , optResourcePath :: [FilePath] -- ^ Path to search for images etc
650650 , optRequestHeaders :: [(String, String)] -- ^ Headers for HTTP requests
651651 , optEol :: LineEnding -- ^ Style of line-endings to use
652− , optStripComments :: Bool -- ^ Skip HTML comments
652+ , optStripComments :: Bool -- ^ Skip HTML comments
653653 } deriving (Generic, Show)
654654
655655instance ToJSON Opt where
@@ -844,7 +844,7 @@ applyLuaFilters mbDatadir filters format d = do
844844 let go f d' = do
845845 res <- runLuaFilter mbDatadir f format d'
846846 case res of
847− Right x -> return x
847+ Right x -> return x
848848 Left (LuaException s) -> E.throw (PandocFilterError f s)
849849 foldrM ($) d $ map go expandedFilters
850850
src/Text/Pandoc/BCP47.hs+6−6
@@ -35,18 +35,18 @@ module Text.Pandoc.BCP47 (
3535 )
3636where
3737import Control.Monad (guard)
38−import Data.Char (isAscii, isLetter, isUpper, isLower, toUpper, toLower,
39− isAlphaNum)
38+import Data.Char (isAlphaNum, isAscii, isLetter, isLower, isUpper, toLower,
39+ toUpper)
4040import Data.List (intercalate)
4141import Text.Pandoc.Definition
4242import Text.Pandoc.Options
4343import qualified Text.Parsec as P
4444
4545-- | Represents BCP 47 language/country code.
46−data Lang = Lang{ langLanguage :: String
47− , langScript :: String
48− , langRegion :: String
49− , langVariants :: [String] }
46+data Lang = Lang{ langLanguage :: String
47+ , langScript :: String
48+ , langRegion :: String
49+ , langVariants :: [String] }
5050 deriving (Eq, Ord, Show)
5151
5252-- | Render a Lang as BCP 47.
src/Text/Pandoc/CSV.hs+3−3
@@ -34,11 +34,11 @@ module Text.Pandoc.CSV (
3434 ParseError
3535) where
3636
37−import Text.Parsec
38−import Text.Parsec.Text (Parser)
37+import Control.Monad (void)
3938import Data.Text (Text)
4039import qualified Data.Text as T
41−import Control.Monad (void)
40+import Text.Parsec
41+import Text.Parsec.Text (Parser)
4242
4343data CSVOptions = CSVOptions{
4444 csvDelim :: Char
src/Text/Pandoc/Data.hs+1−1
@@ -2,8 +2,8 @@
22
33module Text.Pandoc.Data (dataFiles) where
44
5−import Data.FileEmbed
65import qualified Data.ByteString as B
6+import Data.FileEmbed
77import System.FilePath (splitDirectories)
88import qualified System.FilePath.Posix as Posix
99
src/Text/Pandoc/Error.hs+4−4
@@ -37,12 +37,12 @@ module Text.Pandoc.Error (
3737import Control.Exception (Exception)
3838import Data.Generics (Typeable)
3939import GHC.Generics (Generic)
40+import Network.HTTP.Client (HttpException)
41+import System.Exit (ExitCode (..), exitWith)
42+import System.IO (stderr)
43+import qualified Text.Pandoc.UTF8 as UTF8
4044import Text.Parsec.Error
4145import Text.Parsec.Pos hiding (Line)
42−import qualified Text.Pandoc.UTF8 as UTF8
43−import System.Exit (exitWith, ExitCode(..))
44−import System.IO (stderr)
45−import Network.HTTP.Client (HttpException)
4646
4747type Input = String
4848
src/Text/Pandoc/Extensions.hs+2−2
@@ -45,14 +45,14 @@ module Text.Pandoc.Extensions ( Extension(..)
4545 , githubMarkdownExtensions
4646 , multimarkdownExtensions )
4747where
48+import Data.Aeson (FromJSON (..), ToJSON (..), defaultOptions,
49+ genericToEncoding)
4850import Data.Bits (clearBit, setBit, testBit, (.|.))
4951import Data.Data (Data)
5052import Data.Typeable (Typeable)
5153import GHC.Generics (Generic)
5254import Text.Pandoc.Shared (safeRead)
5355import Text.Parsec
54−import Data.Aeson (ToJSON(..), FromJSON(..),
55− genericToEncoding, defaultOptions)
5656
5757newtype Extensions = Extensions Integer
5858 deriving (Show, Read, Eq, Ord, Data, Typeable, Generic)
src/Text/Pandoc/Lua.hs+9−9
@@ -36,19 +36,19 @@ module Text.Pandoc.Lua (LuaException (..), pushPandocModule, runLuaFilter) where
3636import Control.Monad (mplus, unless, when, (>=>))
3737import Control.Monad.Identity (Identity)
3838import Control.Monad.Trans (MonadIO (..))
39−import Data.Data (DataType, Data, toConstr, showConstr, dataTypeOf,
40− dataTypeConstrs, dataTypeName, tyconUQname)
39+import Data.Data (Data, DataType, dataTypeConstrs, dataTypeName, dataTypeOf,
40+ showConstr, toConstr, tyconUQname)
4141import Data.Foldable (foldrM)
4242import Data.IORef (IORef, newIORef, readIORef)
4343import Data.Map (Map)
4444import Data.Maybe (isJust)
45−import Foreign.Lua (Lua, FromLuaStack (peek), LuaException (..), StackIndex,
45+import Foreign.Lua (FromLuaStack (peek), Lua, LuaException (..), StackIndex,
4646 Status (OK), ToLuaStack (push))
47−import Text.Pandoc.Class (PandocIO, getMediaBag, setMediaBag,
48− getCommonState, CommonState)
49−import Text.Pandoc.MediaBag (MediaBag)
47+import Text.Pandoc.Class (CommonState, PandocIO, getCommonState, getMediaBag,
48+ setMediaBag)
5049import Text.Pandoc.Definition
51−import Text.Pandoc.Lua.PandocModule (pushPandocModule, pushMediaBagModule)
50+import Text.Pandoc.Lua.PandocModule (pushMediaBagModule, pushPandocModule)
51+import Text.Pandoc.MediaBag (MediaBag)
5252import Text.Pandoc.Walk (walkM)
5353
5454import qualified Data.Map as Map
@@ -182,7 +182,7 @@ instance FromLuaStack LuaFilter where
182182 filterFn <- Lua.tryLua (peek (-1))
183183 Lua.pop 1
184184 return $ case filterFn of
185− Left _ -> acc
185+ Left _ -> acc
186186 Right f -> (c, f) : acc
187187 in LuaFilter . Map.fromList <$> foldrM fn [] constrs
188188
@@ -209,7 +209,7 @@ elementOrList x = do
209209 mbres <- Lua.peekEither topOfStack
210210 case mbres of
211211 Right res -> [res] <$ Lua.pop 1
212− Left _ -> Lua.toList topOfStack <* Lua.pop 1
212+ Left _ -> Lua.toList topOfStack <* Lua.pop 1
213213
214214singleElement :: FromLuaStack a => a -> Lua a
215215singleElement x = do
src/Text/Pandoc/Lua/PandocModule.hs+9−9
@@ -34,24 +34,24 @@ module Text.Pandoc.Lua.PandocModule
3434import Control.Monad (unless, zipWithM_)
3535import Data.ByteString.Char8 (unpack)
3636import Data.Default (Default (..))
37+import Data.Digest.Pure.SHA (sha1, showDigest)
3738import Data.IORef
3839import Data.Maybe (fromMaybe)
3940import Data.Text (pack)
40−import Foreign.Lua (Lua, FromLuaStack, NumResults, liftIO)
41+import Foreign.Lua (FromLuaStack, Lua, NumResults, liftIO)
4142import Foreign.Lua.FunctionCalling (ToHaskellFunction)
42−import Text.Pandoc.Class (readDataFile, runIO,
43− runIOorExplode, setUserDataDir, CommonState(..),
44− putCommonState, fetchItem, setMediaBag)
45−import Text.Pandoc.Options (ReaderOptions(readerExtensions))
43+import System.Exit (ExitCode (..))
44+import Text.Pandoc.Class (CommonState (..), fetchItem, putCommonState,
45+ readDataFile, runIO, runIOorExplode, setMediaBag,
46+ setUserDataDir)
4647import Text.Pandoc.Lua.StackInstances ()
47−import Text.Pandoc.Readers (Reader (..), getReader)
4848import Text.Pandoc.MIME (MimeType)
49+import Text.Pandoc.Options (ReaderOptions (readerExtensions))
4950import Text.Pandoc.Process (pipeProcess)
50−import System.Exit (ExitCode(..))
51−import Data.Digest.Pure.SHA (sha1, showDigest)
51+import Text.Pandoc.Readers (Reader (..), getReader)
5252
53−import qualified Foreign.Lua as Lua
5453import qualified Data.ByteString.Lazy as BL
54+import qualified Foreign.Lua as Lua
5555import qualified Text.Pandoc.MediaBag as MB
5656
5757-- | Push the "pandoc" on the lua stack.
src/Text/Pandoc/Lua/StackInstances.hs+6−5
@@ -33,10 +33,11 @@ StackValue instances for pandoc types.
3333module Text.Pandoc.Lua.StackInstances () where
3434
3535import Control.Applicative ((<|>))
36−import Foreign.Lua (Lua, LuaInteger, LuaNumber, Type (..), FromLuaStack (peek),
37− ToLuaStack (push), StackIndex, throwLuaError, tryLua)
36+import Foreign.Lua (FromLuaStack (peek), Lua, LuaInteger, LuaNumber, StackIndex,
37+ ToLuaStack (push), Type (..), throwLuaError, tryLua)
3838import Text.Pandoc.Definition
39−import Text.Pandoc.Lua.Util (addValue, adjustIndexBy, getTable, pushViaConstructor)
39+import Text.Pandoc.Lua.Util (addValue, adjustIndexBy, getTable,
40+ pushViaConstructor)
4041import Text.Pandoc.Shared (safeRead)
4142
4243import qualified Foreign.Lua as Lua
@@ -139,7 +140,7 @@ instance FromLuaStack Int where
139140safeRead' :: Read a => String -> Lua a
140141safeRead' s = case safeRead s of
141142 Nothing -> throwLuaError ("Could not read: " ++ s)
142− Just x -> return x
143+ Just x -> return x
143144
144145-- | Push an meta value element to the top of the lua stack.
145146pushMetaValue :: MetaValue -> Lua ()
@@ -293,7 +294,7 @@ getTag idx = do
293294 Lua.settop top
294295 case r of
295296 Left (Lua.LuaException err) -> throwLuaError err
296− Right res -> return res
297+ Right res -> return res
297298
298299withAttr :: (Attr -> a -> b) -> (LuaAttr, a) -> b
299300withAttr f (attributes, x) = f (fromLuaAttr attributes) x
src/Text/Pandoc/Lua/Util.hs+2−2
@@ -40,8 +40,8 @@ module Text.Pandoc.Lua.Util
4040 , pushViaConstructor
4141 ) where
4242
43−import Foreign.Lua (Lua, FromLuaStack (..), ToLuaStack (..), NumArgs,
44− StackIndex, getglobal')
43+import Foreign.Lua (FromLuaStack (..), Lua, NumArgs, StackIndex,
44+ ToLuaStack (..), getglobal')
4545import Foreign.Lua.Api (call, pop, rawget, rawgeti, rawset, rawseti)
4646
4747-- | Adjust the stack index, assuming that @n@ new elements have been pushed on
src/Text/Pandoc/Options.hs+2−2
@@ -45,8 +45,8 @@ module Text.Pandoc.Options ( module Text.Pandoc.Extensions
4545 , def
4646 , isEnabled
4747 ) where
48−import Data.Aeson (ToJSON(..), FromJSON(..),
49− genericToEncoding, defaultOptions)
48+import Data.Aeson (FromJSON (..), ToJSON (..), defaultOptions,
49+ genericToEncoding)
5050import Data.Data (Data)
5151import Data.Default
5252import qualified Data.Set as Set
src/Text/Pandoc/PDF.hs+7−8
@@ -36,15 +36,15 @@ import qualified Codec.Picture as JP
3636import qualified Control.Exception as E
3737import Control.Monad (unless, when)
3838import Control.Monad.Trans (MonadIO (..))
39−import qualified Data.Text as T
40−import qualified Data.Text.IO as TextIO
41−import Data.Text (Text)
4239import qualified Data.ByteString as BS
4340import Data.ByteString.Lazy (ByteString)
4441import qualified Data.ByteString.Lazy as BL
4542import qualified Data.ByteString.Lazy.Char8 as BC
4643import Data.Maybe (fromMaybe)
4744import Data.Monoid ((<>))
45+import Data.Text (Text)
46+import qualified Data.Text as T
47+import qualified Data.Text.IO as TextIO
4848import System.Directory
4949import System.Environment
5050import System.Exit (ExitCode (..))
@@ -57,7 +57,7 @@ import System.IO.Error (IOError, isDoesNotExistError)
5757import System.IO.Error (isDoesNotExistError)
5858#endif
5959import Text.Pandoc.Definition
60−import Text.Pandoc.Error (PandocError(PandocPDFProgramNotFoundError))
60+import Text.Pandoc.Error (PandocError (PandocPDFProgramNotFoundError))
6161import Text.Pandoc.MIME (getMimeType)
6262import Text.Pandoc.Options (HTMLMathMethod (..), WriterOptions (..))
6363import Text.Pandoc.Process (pipeProcess)
@@ -68,10 +68,9 @@ import Text.Pandoc.Writers.Shared (getField, metaToJSON)
6868#ifdef _WINDOWS
6969import Data.List (intercalate)
7070#endif
71−import Text.Pandoc.Class (PandocIO, report, runIO, runIOorExplode,
72− setVerbosity, getVerbosity,
73− fillMediaBag, extractMedia, putCommonState,
74− getCommonState)
71+import Text.Pandoc.Class (PandocIO, extractMedia, fillMediaBag, getCommonState,
72+ getVerbosity, putCommonState, report, runIO,
73+ runIOorExplode, setVerbosity)
7574import Text.Pandoc.Logging
7675
7776#ifdef _WINDOWS
src/Text/Pandoc/Readers.hs+5−5
@@ -70,7 +70,9 @@ module Text.Pandoc.Readers
7070
7171import Control.Monad.Except (throwError)
7272import Data.Aeson
73+import qualified Data.ByteString.Lazy as BL
7374import Data.List (intercalate)
75+import Data.Text (Text)
7476import Text.Pandoc.Class
7577import Text.Pandoc.Definition
7678import Text.Pandoc.Error
@@ -86,7 +88,6 @@ import Text.Pandoc.Readers.HTML
8688import Text.Pandoc.Readers.LaTeX
8789import Text.Pandoc.Readers.Markdown
8890import Text.Pandoc.Readers.MediaWiki
89−import Text.Pandoc.Readers.Vimwiki
9091import Text.Pandoc.Readers.Muse
9192import Text.Pandoc.Readers.Native
9293import Text.Pandoc.Readers.Odt
@@ -94,14 +95,13 @@ import Text.Pandoc.Readers.OPML
9495import Text.Pandoc.Readers.Org
9596import Text.Pandoc.Readers.RST
9697import Text.Pandoc.Readers.Textile
97−import Text.Pandoc.Readers.TWiki
9898import Text.Pandoc.Readers.TikiWiki
99+import Text.Pandoc.Readers.TWiki
99100import Text.Pandoc.Readers.Txt2Tags
101+import Text.Pandoc.Readers.Vimwiki
100102import Text.Pandoc.Shared (mapLeft)
101−import Text.Parsec.Error
102103import qualified Text.Pandoc.UTF8 as UTF8
103−import qualified Data.ByteString.Lazy as BL
104−import Data.Text (Text)
104+import Text.Parsec.Error
105105
106106data Reader m = TextReader (ReaderOptions -> Text -> m Pandoc)
107107 | ByteStringReader (ReaderOptions -> BL.ByteString -> m Pandoc)
src/Text/Pandoc/Readers/CommonMark.hs+27−27
@@ -34,10 +34,10 @@ where
3434
3535import CMarkGFM
3636import Control.Monad.State
37−import Data.Char (isLetter, isAlphaNum, isSpace, toLower)
37+import Data.Char (isAlphaNum, isLetter, isSpace, toLower)
3838import Data.List (groupBy)
39−import Data.Text (Text, unpack)
4039import qualified Data.Map as Map
40+import Data.Text (Text, unpack)
4141import Text.Pandoc.Class (PandocMonad)
4242import Text.Pandoc.Definition
4343import Text.Pandoc.Emoji (emojis)
@@ -153,9 +153,9 @@ addBlock opts (Node _ (TABLE alignments) nodes) = do
153153 (h:rs) -> (h, rs)
154154 [] -> ([], [])
155155 isRow (Node _ TABLE_ROW _) = True
156− isRow _ = False
156+ isRow _ = False
157157 isCell (Node _ TABLE_CELL _) = True
158− isCell _ = False
158+ isCell _ = False
159159 toRow (Node _ TABLE_ROW ns) = map toCell $ filter isCell ns
160160 toRow (Node _ t _) = error $ "toRow encountered non-row " ++ show t
161161 toCell (Node _ TABLE_CELL []) = []
@@ -170,30 +170,30 @@ addBlock _ _ = id
170170isBlockNode :: Node -> Bool
171171isBlockNode (Node _ nodetype _) =
172172 case nodetype of
173− DOCUMENT -> True
174− THEMATIC_BREAK -> True
175− PARAGRAPH -> True
176− BLOCK_QUOTE -> True
177− HTML_BLOCK _ -> True
178− CUSTOM_BLOCK _ _ -> True
179− CODE_BLOCK _ _ -> True
180− HEADING _ -> True
181− LIST _ -> True
182− ITEM -> True
183− TEXT _ -> False
184− SOFTBREAK -> False
185− LINEBREAK -> False
186− HTML_INLINE _ -> False
173+ DOCUMENT -> True
174+ THEMATIC_BREAK -> True
175+ PARAGRAPH -> True
176+ BLOCK_QUOTE -> True
177+ HTML_BLOCK _ -> True
178+ CUSTOM_BLOCK _ _ -> True
179+ CODE_BLOCK _ _ -> True
180+ HEADING _ -> True
181+ LIST _ -> True
182+ ITEM -> True
183+ TEXT _ -> False
184+ SOFTBREAK -> False
185+ LINEBREAK -> False
186+ HTML_INLINE _ -> False
187187 CUSTOM_INLINE _ _ -> False
188− CODE _ -> False
189− EMPH -> False
190− STRONG -> False
191− LINK _ _ -> False
192− IMAGE _ _ -> False
193− STRIKETHROUGH -> False
194− TABLE _ -> False
195− TABLE_ROW -> False
196− TABLE_CELL -> False
188+ CODE _ -> False
189+ EMPH -> False
190+ STRONG -> False
191+ LINK _ _ -> False
192+ IMAGE _ _ -> False
193+ STRIKETHROUGH -> False
194+ TABLE _ -> False
195+ TABLE_ROW -> False
196+ TABLE_CELL -> False
197197
198198children :: Node -> [Node]
199199children (Node _ _ ns) = ns
src/Text/Pandoc/Readers/Creole.hs+6−6
@@ -35,18 +35,18 @@ Conversion of creole text to 'Pandoc' document.
3535module Text.Pandoc.Readers.Creole ( readCreole
3636 ) where
3737
38−import Control.Monad.Except (liftM2, throwError, guard)
38+import Control.Monad.Except (guard, liftM2, throwError)
3939import qualified Data.Foldable as F
40+import Data.Maybe (fromMaybe)
41+import Data.Monoid
42+import Data.Text (Text)
43+import qualified Data.Text as T
4044import qualified Text.Pandoc.Builder as B
41−import Text.Pandoc.Class (PandocMonad(..))
45+import Text.Pandoc.Class (PandocMonad (..))
4246import Text.Pandoc.Definition
4347import Text.Pandoc.Options
4448import Text.Pandoc.Parsing hiding (enclosed)
4549import Text.Pandoc.Shared (crFilter)
46−import Data.Maybe (fromMaybe)
47−import Data.Monoid
48−import Data.Text (Text)
49−import qualified Data.Text as T
5050
5151
5252-- | Read creole from an input string and return a Pandoc document.
src/Text/Pandoc/Readers/Docx.hs+2−2
@@ -472,10 +472,10 @@ rowToBlocksList (Row cells) = do
472472-- like trimInlines, but also take out linebreaks
473473trimSps :: Inlines -> Inlines
474474trimSps (Many ils) = Many $ Seq.dropWhileL isSp $ Seq.dropWhileR isSp $ ils
475− where isSp Space = True
475+ where isSp Space = True
476476 isSp SoftBreak = True
477477 isSp LineBreak = True
478− isSp _ = False
478+ isSp _ = False
479479
480480parStyleToTransform :: ParagraphStyle -> (Blocks -> Blocks)
481481parStyleToTransform pPr
src/Text/Pandoc/Readers/EPUB.hs+2−2
@@ -13,12 +13,12 @@ import Control.DeepSeq (NFData, deepseq)
1313import Control.Monad (guard, liftM)
1414import Control.Monad.Except (throwError)
1515import qualified Data.ByteString.Lazy as BL (ByteString)
16−import qualified Data.Text.Lazy.Encoding as TL
17−import qualified Data.Text.Lazy as TL
1816import Data.List (isInfixOf, isPrefixOf)
1917import qualified Data.Map as M (Map, elems, fromList, lookup)
2018import Data.Maybe (fromMaybe, mapMaybe)
2119import Data.Monoid ((<>))
20+import qualified Data.Text.Lazy as TL
21+import qualified Data.Text.Lazy.Encoding as TL
2222import Network.URI (unEscapeString)
2323import System.FilePath (dropFileName, dropFileName, normalise, splitFileName,
2424 takeFileName, (</>))
src/Text/Pandoc/Readers/Haddock.hs+2−2
@@ -16,9 +16,9 @@ module Text.Pandoc.Readers.Haddock
1616
1717import Control.Monad.Except (throwError)
1818import Data.List (intersperse, stripPrefix)
19−import Data.Text (Text, unpack)
2019import Data.Maybe (fromMaybe)
2120import Data.Monoid ((<>))
21+import Data.Text (Text, unpack)
2222import Documentation.Haddock.Parser
2323import Documentation.Haddock.Types
2424import Text.Pandoc.Builder (Blocks, Inlines)
@@ -27,7 +27,7 @@ import Text.Pandoc.Class (PandocMonad)
2727import Text.Pandoc.Definition
2828import Text.Pandoc.Error
2929import Text.Pandoc.Options
30−import Text.Pandoc.Shared (splitBy, trim, crFilter)
30+import Text.Pandoc.Shared (crFilter, splitBy, trim)
3131
3232
3333-- | Parse Haddock markup and return a 'Pandoc' document.
src/Text/Pandoc/Readers/LaTeX.hs+57−59
@@ -1,8 +1,8 @@
1−{-# LANGUAGE OverloadedStrings #-}
2−{-# LANGUAGE PatternGuards #-}
3−{-# LANGUAGE FlexibleInstances #-}
1+{-# LANGUAGE FlexibleInstances #-}
42{-# LANGUAGE MultiParamTypeClasses #-}
5−{-# LANGUAGE ScopedTypeVariables #-}
3+{-# LANGUAGE OverloadedStrings #-}
4+{-# LANGUAGE PatternGuards #-}
5+{-# LANGUAGE ScopedTypeVariables #-}
66{-
77Copyright (C) 2006-2017 John MacFarlane <jgm@berkeley.edu>
88
@@ -44,35 +44,33 @@ import Control.Applicative (many, optional, (<|>))
4444import Control.Monad
4545import Control.Monad.Except (throwError)
4646import Control.Monad.Trans (lift)
47−import Data.Char (chr, isAlphaNum, isLetter, ord, isDigit, toLower)
47+import Data.Char (chr, isAlphaNum, isDigit, isLetter, ord, toLower)
4848import Data.Default
49−import Data.Text (Text)
50−import qualified Data.Text as T
5149import Data.List (intercalate, isPrefixOf)
5250import qualified Data.Map as M
53−import qualified Data.Set as Set
5451import Data.Maybe (fromMaybe, maybeToList)
52+import qualified Data.Set as Set
53+import Data.Text (Text)
54+import qualified Data.Text as T
5555import Safe (minimumDef)
5656import System.FilePath (addExtension, replaceExtension, takeExtension)
57+import Text.Pandoc.BCP47 (Lang (..), renderLang)
5758import Text.Pandoc.Builder
58−import Text.Pandoc.Class (PandocMonad, PandocPure, lookupEnv,
59+import Text.Pandoc.Class (PandocMonad, PandocPure, getResourcePath, lookupEnv,
5960 readFileFromDirs, report, setResourcePath,
60− getResourcePath, setTranslations, translateTerm)
61−import qualified Text.Pandoc.Translations as Translations
62−import Text.Pandoc.BCP47 (Lang(..), renderLang)
61+ setTranslations, translateTerm)
62+import Text.Pandoc.Error (PandocError (PandocMacroLoop, PandocParseError, PandocParsecError))
6363import Text.Pandoc.Highlighting (fromListingsLanguage, languagesByExtension)
6464import Text.Pandoc.ImageSize (numUnit, showFl)
6565import Text.Pandoc.Logging
6666import Text.Pandoc.Options
67−import Text.Pandoc.Parsing hiding (many, optional, withRaw,
68− mathInline, mathDisplay,
69− space, (<|>), spaces, blankline)
67+import Text.Pandoc.Parsing hiding (blankline, many, mathDisplay, mathInline,
68+ optional, space, spaces, withRaw, (<|>))
69+import Text.Pandoc.Readers.LaTeX.Types (ExpansionPoint (..), Macro (..),
70+ Tok (..), TokType (..))
7071import Text.Pandoc.Shared
71−import Text.Pandoc.Readers.LaTeX.Types (Macro(..), ExpansionPoint(..), Tok(..),
72− TokType(..))
72+import qualified Text.Pandoc.Translations as Translations
7373import Text.Pandoc.Walk
74−import Text.Pandoc.Error
75− (PandocError(PandocParsecError, PandocParseError, PandocMacroLoop))
7674import Text.Parsec.Pos
7775
7876-- for debugging:
@@ -100,10 +98,10 @@ parseLaTeX = do
10098 let meta = sMeta st
10199 let doc' = doc bs
102100 let headerLevel (Header n _ _) = [n]
103− headerLevel _ = []
101+ headerLevel _ = []
104102 let bottomLevel = minimumDef 1 $ query headerLevel doc'
105103 let adjustHeaders m (Header n attr ils) = Header (n+m) attr ils
106− adjustHeaders _ x = x
104+ adjustHeaders _ x = x
107105 let (Pandoc _ bs') =
108106 -- handle the case where you have \part or \chapter
109107 (if bottomLevel < 1
@@ -261,7 +259,7 @@ applyMacros s = (guardDisabled Ext_latex_macros >> return s) <|>
261259 , sMacros = extractMacros pstate }
262260 res <- runParserT retokenize lstate "math" (tokenize "math" (T.pack s))
263261 case res of
264− Left e -> fail (show e)
262+ Left e -> fail (show e)
265263 Right s' -> return s'
266264
267265rawLaTeXBlock :: (PandocMonad m, HasMacros s, HasReaderOptions s)
@@ -378,8 +376,8 @@ isSpaceOrTab '\t' = True
378376isSpaceOrTab _ = False
379377
380378isLetterOrAt :: Char -> Bool
381−isLetterOrAt '@' = True
382−isLetterOrAt c = isLetter c
379+isLetterOrAt '@' = True
380+isLetterOrAt c = isLetter c
383381
384382isLowerHex :: Char -> Bool
385383isLowerHex x = x >= '0' && x <= '9' || x >= 'a' && x <= 'f'
@@ -400,7 +398,7 @@ satisfyTok f =
400398 | otherwise = Nothing
401399 updatePos :: SourcePos -> Tok -> [Tok] -> SourcePos
402400 updatePos _spos _ (Tok pos _ _ : _) = pos
403− updatePos spos _ [] = spos
401+ updatePos spos _ [] = spos
404402
405403doMacros :: PandocMonad m => Int -> LP m ()
406404doMacros n = do
@@ -477,20 +475,20 @@ tokTypeIn toktypes (Tok _ tt _) = tt `elem` toktypes
477475controlSeq :: PandocMonad m => Text -> LP m Tok
478476controlSeq name = satisfyTok isNamed
479477 where isNamed (Tok _ (CtrlSeq n) _) = n == name
480− isNamed _ = False
478+ isNamed _ = False
481479
482480symbol :: PandocMonad m => Char -> LP m Tok
483481symbol c = satisfyTok isc
484482 where isc (Tok _ Symbol d) = case T.uncons d of
485483 Just (c',_) -> c == c'
486− _ -> False
484+ _ -> False
487485 isc _ = False
488486
489487symbolIn :: PandocMonad m => [Char] -> LP m Tok
490488symbolIn cs = satisfyTok isInCs
491489 where isInCs (Tok _ Symbol d) = case T.uncons d of
492490 Just (c,_) -> c `elem` cs
493− _ -> False
491+ _ -> False
494492 isInCs _ = False
495493
496494sp :: PandocMonad m => LP m ()
@@ -499,19 +497,19 @@ sp = whitespace <|> endline
499497whitespace :: PandocMonad m => LP m ()
500498whitespace = () <$ satisfyTok isSpaceTok
501499 where isSpaceTok (Tok _ Spaces _) = True
502− isSpaceTok _ = False
500+ isSpaceTok _ = False
503501
504502newlineTok :: PandocMonad m => LP m ()
505503newlineTok = () <$ satisfyTok isNewlineTok
506504
507505isNewlineTok :: Tok -> Bool
508506isNewlineTok (Tok _ Newline _) = True
509−isNewlineTok _ = False
507+isNewlineTok _ = False
510508
511509comment :: PandocMonad m => LP m ()
512510comment = () <$ satisfyTok isCommentTok
513511 where isCommentTok (Tok _ Comment _) = True
514− isCommentTok _ = False
512+ isCommentTok _ = False
515513
516514anyTok :: PandocMonad m => LP m Tok
517515anyTok = satisfyTok (const True)
@@ -535,7 +533,7 @@ primEscape = do
535533 | otherwise -> return (chr (ord c + 64))
536534 Nothing -> fail "Empty content of Esc1"
537535 Esc2 -> case safeRead ('0':'x':T.unpack (T.drop 2 t)) of
538− Just x -> return (chr x)
536+ Just x -> return (chr x)
539537 Nothing -> fail $ "Could not read: " ++ T.unpack t
540538 _ -> fail "Expected an Esc1 or Esc2 token" -- should not happen
541539
@@ -594,7 +592,7 @@ word = (str . T.unpack . untoken) <$> satisfyTok isWordTok
594592regularSymbol :: PandocMonad m => LP m Inlines
595593regularSymbol = (str . T.unpack . untoken) <$> satisfyTok isRegularSymbol
596594 where isRegularSymbol (Tok _ Symbol t) = not $ T.any isSpecial t
597− isRegularSymbol _ = False
595+ isRegularSymbol _ = False
598596 isSpecial c = c `Set.member` specialChars
599597
600598specialChars :: Set.Set Char
@@ -602,7 +600,7 @@ specialChars = Set.fromList "#$%&~_^\\{}"
602600
603601isWordTok :: Tok -> Bool
604602isWordTok (Tok _ Word _) = True
605−isWordTok _ = False
603+isWordTok _ = False
606604
607605inlineGroup :: PandocMonad m => LP m Inlines
608606inlineGroup = do
@@ -623,7 +621,7 @@ mkImage options src = do
623621 let replaceTextwidth (k,v) =
624622 case numUnit v of
625623 Just (num, "\\textwidth") -> (k, showFl (num * 100) ++ "%")
626− _ -> (k, v)
624+ _ -> (k, v)
627625 let kvs = map replaceTextwidth
628626 $ filter (\(k,_) -> k `elem` ["width", "height"]) options
629627 let attr = ("",[], kvs)
@@ -640,7 +638,7 @@ doxspace = do
640638 where startsWithLetter (Tok _ Word t) =
641639 case T.uncons t of
642640 Just (c, _) | isLetter c -> True
643− _ -> False
641+ _ -> False
644642 startsWithLetter _ = False
645643
646644
@@ -686,7 +684,7 @@ singleQuote = do
686684 where startsWithLetter (Tok _ Word t) =
687685 case T.uncons t of
688686 Just (c, _) | isLetter c -> True
689− _ -> False
687+ _ -> False
690688 startsWithLetter _ = False
691689
692690quoted' :: PandocMonad m
@@ -736,7 +734,7 @@ doverb = do
736734 Tok _ Symbol t <- anySymbol
737735 marker <- case T.uncons t of
738736 Just (c, ts) | T.null ts -> return c
739− _ -> mzero
737+ _ -> mzero
740738 withVerbatimMode $
741739 (code . T.unpack . untokenize) <$>
742740 manyTill (verbTok marker) (symbol marker)
@@ -760,7 +758,7 @@ dolstinline = do
760758 Tok _ Symbol t <- anySymbol
761759 marker <- case T.uncons t of
762760 Just (c, ts) | T.null ts -> return c
763− _ -> mzero
761+ _ -> mzero
764762 let stopchar = if marker == '{' then '}' else marker
765763 withVerbatimMode $
766764 (codeWith ("",classes,[]) . T.unpack . untokenize) <$>
@@ -770,7 +768,7 @@ keyval :: PandocMonad m => LP m (String, String)
770768keyval = try $ do
771769 Tok _ Word key <- satisfyTok isWordTok
772770 let isSpecSym (Tok _ Symbol t) = t /= "]" && t /= ","
773− isSpecSym _ = False
771+ isSpecSym _ = False
774772 optional sp
775773 val <- option [] $ do
776774 symbol '='
@@ -1504,7 +1502,7 @@ hypertargetBlock = try $ do
15041502 bs <- grouped block
15051503 case toList bs of
15061504 [Header 1 (ident,_,_) _] | ident == ref -> return bs
1507− _ -> return $ divWith (ref, [], []) bs
1505+ _ -> return $ divWith (ref, [], []) bs
15081506
15091507hypertargetInline :: PandocMonad m => LP m Inlines
15101508hypertargetInline = try $ do
@@ -1846,7 +1844,7 @@ argSeq n = do
18461844
18471845isArgTok :: Tok -> Bool
18481846isArgTok (Tok _ (Arg _) _) = True
1849−isArgTok _ = False
1847+isArgTok _ = False
18501848
18511849newcommand :: PandocMonad m => LP m (Text, Macro)
18521850newcommand = do
@@ -1869,7 +1867,7 @@ newcommand = do
18691867 when (mtype == "newcommand") $ do
18701868 macros <- sMacros <$> getState
18711869 case M.lookup name macros of
1872− Just _ -> report $ MacroAlreadyDefined (T.unpack txt) pos
1870+ Just _ -> report $ MacroAlreadyDefined (T.unpack txt) pos
18731871 Nothing -> return ()
18741872 return (name, Macro ExpandWhenUsed numargs optarg contents)
18751873
@@ -1893,7 +1891,7 @@ newenvironment = do
18931891 when (mtype == "newenvironment") $ do
18941892 macros <- sMacros <$> getState
18951893 case M.lookup name macros of
1896− Just _ -> report $ MacroAlreadyDefined (T.unpack name) pos
1894+ Just _ -> report $ MacroAlreadyDefined (T.unpack name) pos
18971895 Nothing -> return ()
18981896 return (name, Macro ExpandWhenUsed numargs optarg startcontents,
18991897 Macro ExpandWhenUsed 0 Nothing endcontents)
@@ -2186,8 +2184,8 @@ obeylines = do
21862184 softBreakToHard x = x
21872185 removeLeadingTrailingBreaks = reverse . dropWhile isLineBreak .
21882186 reverse . dropWhile isLineBreak
2189− isLineBreak LineBreak = True
2190− isLineBreak _ = False
2187+ isLineBreak LineBreak = True
2188+ isLineBreak _ = False
21912189
21922190minted :: PandocMonad m => LP m Blocks
21932191minted = do
@@ -2521,13 +2519,13 @@ setDefaultLanguage = do
25212519polyglossiaLangToBCP47 :: M.Map String (String -> Lang)
25222520polyglossiaLangToBCP47 = M.fromList
25232521 [ ("arabic", \o -> case filter (/=' ') o of
2524− "locale=algeria" -> Lang "ar" "" "DZ" []
2525− "locale=mashriq" -> Lang "ar" "" "SY" []
2526− "locale=libya" -> Lang "ar" "" "LY" []
2527− "locale=morocco" -> Lang "ar" "" "MA" []
2522+ "locale=algeria" -> Lang "ar" "" "DZ" []
2523+ "locale=mashriq" -> Lang "ar" "" "SY" []
2524+ "locale=libya" -> Lang "ar" "" "LY" []
2525+ "locale=morocco" -> Lang "ar" "" "MA" []
25282526 "locale=mauritania" -> Lang "ar" "" "MR" []
2529− "locale=tunisia" -> Lang "ar" "" "TN" []
2530− _ -> Lang "ar" "" "" [])
2527+ "locale=tunisia" -> Lang "ar" "" "TN" []
2528+ _ -> Lang "ar" "" "" [])
25312529 , ("german", \o -> case filter (/=' ') o of
25322530 "spelling=old" -> Lang "de" "" "DE" ["1901"]
25332531 "variant=austrian,spelling=old"
@@ -2539,20 +2537,20 @@ polyglossiaLangToBCP47 = M.fromList
25392537 _ -> Lang "de" "" "" [])
25402538 , ("lsorbian", \_ -> Lang "dsb" "" "" [])
25412539 , ("greek", \o -> case filter (/=' ') o of
2542− "variant=poly" -> Lang "el" "" "polyton" []
2540+ "variant=poly" -> Lang "el" "" "polyton" []
25432541 "variant=ancient" -> Lang "grc" "" "" []
2544− _ -> Lang "el" "" "" [])
2542+ _ -> Lang "el" "" "" [])
25452543 , ("english", \o -> case filter (/=' ') o of
25462544 "variant=australian" -> Lang "en" "" "AU" []
2547− "variant=canadian" -> Lang "en" "" "CA" []
2548− "variant=british" -> Lang "en" "" "GB" []
2545+ "variant=canadian" -> Lang "en" "" "CA" []
2546+ "variant=british" -> Lang "en" "" "GB" []
25492547 "variant=newzealand" -> Lang "en" "" "NZ" []
2550− "variant=american" -> Lang "en" "" "US" []
2551− _ -> Lang "en" "" "" [])
2548+ "variant=american" -> Lang "en" "" "US" []
2549+ _ -> Lang "en" "" "" [])
25522550 , ("usorbian", \_ -> Lang "hsb" "" "" [])
25532551 , ("latin", \o -> case filter (/=' ') o of
25542552 "variant=classic" -> Lang "la" "" "" ["x-classic"]
2555− _ -> Lang "la" "" "" [])
2553+ _ -> Lang "la" "" "" [])
25562554 , ("slovenian", \_ -> Lang "sl" "" "" [])
25572555 , ("serbianc", \_ -> Lang "sr" "cyrl" "" [])
25582556 , ("pinyin", \_ -> Lang "zh" "Latn" "" ["pinyin"])
src/Text/Pandoc/Readers/Markdown.hs+4−5
@@ -52,7 +52,7 @@ import System.FilePath (addExtension, takeExtension)
5252import Text.HTML.TagSoup
5353import Text.Pandoc.Builder (Blocks, Inlines)
5454import qualified Text.Pandoc.Builder as B
55−import Text.Pandoc.Class (PandocMonad(..), report)
55+import Text.Pandoc.Class (PandocMonad (..), report)
5656import Text.Pandoc.Definition
5757import Text.Pandoc.Emoji (emojis)
5858import Text.Pandoc.Error
@@ -61,8 +61,7 @@ import Text.Pandoc.Options
6161import Text.Pandoc.Parsing hiding (tableWith)
6262import Text.Pandoc.Readers.HTML (htmlInBalanced, htmlTag, isBlockTag,
6363 isCommentTag, isInlineTag, isTextTag)
64−import Text.Pandoc.Readers.LaTeX (rawLaTeXBlock,
65− rawLaTeXInline, applyMacros)
64+import Text.Pandoc.Readers.LaTeX (applyMacros, rawLaTeXBlock, rawLaTeXInline)
6665import Text.Pandoc.Shared
6766import qualified Text.Pandoc.UTF8 as UTF8
6867import Text.Pandoc.XML (fromEntities)
@@ -1506,8 +1505,8 @@ escapedChar :: PandocMonad m => MarkdownParser m (F Inlines)
15061505escapedChar = do
15071506 result <- escapedChar'
15081507 case result of
1509− ' ' -> return $ return $ B.str "\160" -- "\ " is a nonbreaking space
1510− _ -> return $ return $ B.str [result]
1508+ ' ' -> return $ return $ B.str "\160" -- "\ " is a nonbreaking space
1509+ _ -> return $ return $ B.str [result]
15111510
15121511ltSign :: PandocMonad m => MarkdownParser m (F Inlines)
15131512ltSign = do
src/Text/Pandoc/Readers/MediaWiki.hs+4−4
@@ -41,7 +41,6 @@ module Text.Pandoc.Readers.MediaWiki ( readMediaWiki ) where
4141import Control.Monad
4242import Control.Monad.Except (throwError)
4343import Data.Char (isDigit, isSpace)
44−import Data.Text (Text, unpack)
4544import qualified Data.Foldable as F
4645import Data.List (intercalate, intersperse, isPrefixOf)
4746import qualified Data.Map as M
@@ -49,17 +48,18 @@ import Data.Maybe (fromMaybe)
4948import Data.Monoid ((<>))
5049import Data.Sequence (ViewL (..), viewl, (<|))
5150import qualified Data.Set as Set
51+import Data.Text (Text, unpack)
5252import Text.HTML.TagSoup
5353import Text.Pandoc.Builder (Blocks, Inlines, trimInlines)
5454import qualified Text.Pandoc.Builder as B
55−import Text.Pandoc.Class (PandocMonad(..))
55+import Text.Pandoc.Class (PandocMonad (..))
5656import Text.Pandoc.Definition
5757import Text.Pandoc.Logging
5858import Text.Pandoc.Options
5959import Text.Pandoc.Parsing hiding (nested)
6060import Text.Pandoc.Readers.HTML (htmlTag, isBlockTag, isCommentTag)
61−import Text.Pandoc.Shared (safeRead, stringify, stripTrailingNewlines, trim,
62− crFilter)
61+import Text.Pandoc.Shared (crFilter, safeRead, stringify, stripTrailingNewlines,
62+ trim)
6363import Text.Pandoc.Walk (walk)
6464import Text.Pandoc.XML (fromEntities)
6565
src/Text/Pandoc/Readers/Native.hs+1−1
@@ -35,9 +35,9 @@ import Text.Pandoc.Options (ReaderOptions)
3535import Text.Pandoc.Shared (safeRead)
3636
3737import Control.Monad.Except (throwError)
38+import Data.Text (Text, unpack)
3839import Text.Pandoc.Class
3940import Text.Pandoc.Error
40−import Data.Text (Text, unpack)
4141
4242-- | Read native formatted text and return a Pandoc document.
4343-- The input may be a full pandoc document, a block list, a block,
src/Text/Pandoc/Readers/OPML.hs+2−2
@@ -2,16 +2,16 @@
22module Text.Pandoc.Readers.OPML ( readOPML ) where
33import Control.Monad.State.Strict
44import Data.Char (toUpper)
5−import Data.Text (Text, unpack, pack)
65import Data.Default
76import Data.Generics
7+import Data.Text (Text, pack, unpack)
88import Text.HTML.TagSoup.Entity (lookupEntity)
99import Text.Pandoc.Builder
1010import Text.Pandoc.Class (PandocMonad)
1111import Text.Pandoc.Options
12−import Text.Pandoc.Shared (crFilter)
1312import Text.Pandoc.Readers.HTML (readHtml)
1413import Text.Pandoc.Readers.Markdown (readMarkdown)
14+import Text.Pandoc.Shared (crFilter)
1515import Text.XML.Light
1616
1717type OPML m = StateT OPMLState m
src/Text/Pandoc/Readers/Odt.hs+18−18
@@ -32,29 +32,29 @@ Entry point to the odt reader.
3232
3333module Text.Pandoc.Readers.Odt ( readOdt ) where
3434
35−import Codec.Archive.Zip
36−import qualified Text.XML.Light as XML
35+import Codec.Archive.Zip
36+import qualified Text.XML.Light as XML
3737
38−import qualified Data.ByteString.Lazy as B
38+import qualified Data.ByteString.Lazy as B
3939
40−import System.FilePath
40+import System.FilePath
4141
42−import Control.Monad.Except (throwError)
42+import Control.Monad.Except (throwError)
4343
44−import Text.Pandoc.Class (PandocMonad)
44+import Text.Pandoc.Class (PandocMonad)
4545import qualified Text.Pandoc.Class as P
46−import Text.Pandoc.Definition
47−import Text.Pandoc.Error
48−import Text.Pandoc.Options
49−import Text.Pandoc.MediaBag
50−import qualified Text.Pandoc.UTF8 as UTF8
51−
52−import Text.Pandoc.Readers.Odt.ContentReader
53−import Text.Pandoc.Readers.Odt.StyleReader
54−
55−import Text.Pandoc.Readers.Odt.Generic.XMLConverter
56−import Text.Pandoc.Readers.Odt.Generic.Fallible
57−import Text.Pandoc.Shared (filteredFilesFromArchive)
46+import Text.Pandoc.Definition
47+import Text.Pandoc.Error
48+import Text.Pandoc.MediaBag
49+import Text.Pandoc.Options
50+import qualified Text.Pandoc.UTF8 as UTF8
51+
52+import Text.Pandoc.Readers.Odt.ContentReader
53+import Text.Pandoc.Readers.Odt.StyleReader
54+
55+import Text.Pandoc.Readers.Odt.Generic.Fallible
56+import Text.Pandoc.Readers.Odt.Generic.XMLConverter
57+import Text.Pandoc.Shared (filteredFilesFromArchive)
5858
5959readOdt :: PandocMonad m
6060 => ReaderOptions
src/Text/Pandoc/Readers/Odt/Arrows/State.hs+9−9
@@ -1,6 +1,6 @@
11{-# LANGUAGE Arrows #-}
2−{-# LANGUAGE TupleSections #-}
32{-# LANGUAGE FlexibleInstances #-}
3+{-# LANGUAGE TupleSections #-}
44{-
55Copyright (C) 2015 Martin Linnemann <theCodingMarlin@googlemail.com>
66
@@ -38,17 +38,17 @@ faster and easier to implement this way.
3838
3939module Text.Pandoc.Readers.Odt.Arrows.State where
4040
41−import Prelude hiding ( foldr, foldl )
41+import Prelude hiding (foldl, foldr)
4242
43−import qualified Control.Category as Cat
44−import Control.Arrow
45−import Control.Monad
43+import Control.Arrow
44+import qualified Control.Category as Cat
45+import Control.Monad
4646
47−import Data.Foldable
48−import Data.Monoid
47+import Data.Foldable
48+import Data.Monoid
4949
50−import Text.Pandoc.Readers.Odt.Arrows.Utils
51−import Text.Pandoc.Readers.Odt.Generic.Fallible
50+import Text.Pandoc.Readers.Odt.Arrows.Utils
51+import Text.Pandoc.Readers.Odt.Generic.Fallible
5252
5353
5454newtype ArrowState state a b = ArrowState
src/Text/Pandoc/Readers/Odt/Arrows/Utils.hs+4−4
@@ -39,11 +39,11 @@ with an equivalent return value.
3939-- We export everything
4040module Text.Pandoc.Readers.Odt.Arrows.Utils where
4141
42−import Control.Arrow
43−import Control.Monad ( join )
42+import Control.Arrow
43+import Control.Monad (join)
4444
45−import Text.Pandoc.Readers.Odt.Generic.Fallible
46−import Text.Pandoc.Readers.Odt.Generic.Utils
45+import Text.Pandoc.Readers.Odt.Generic.Fallible
46+import Text.Pandoc.Readers.Odt.Generic.Utils
4747
4848and2 :: (Arrow a) => a b c -> a b c' -> a b (c,c')
4949and2 = (&&&)
src/Text/Pandoc/Readers/Odt/Base.hs+2−2
@@ -32,8 +32,8 @@ Core types of the odt reader.
3232
3333module Text.Pandoc.Readers.Odt.Base where
3434
35−import Text.Pandoc.Readers.Odt.Generic.XMLConverter
36−import Text.Pandoc.Readers.Odt.Namespaces
35+import Text.Pandoc.Readers.Odt.Generic.XMLConverter
36+import Text.Pandoc.Readers.Odt.Namespaces
3737
3838type OdtConverterState s = XMLConverterState Namespace s
3939
src/Text/Pandoc/Readers/Odt/ContentReader.hs+23−23
@@ -1,8 +1,8 @@
11{-# LANGUAGE Arrows #-}
2−{-# LANGUAGE TupleSections #-}
32{-# LANGUAGE PatternGuards #-}
4−{-# LANGUAGE ViewPatterns #-}
53{-# LANGUAGE RecordWildCards #-}
4+{-# LANGUAGE TupleSections #-}
5+{-# LANGUAGE ViewPatterns #-}
66
77{-
88Copyright (C) 2015 Martin Linnemann <theCodingMarlin@googlemail.com>
@@ -39,29 +39,29 @@ module Text.Pandoc.Readers.Odt.ContentReader
3939, read_body
4040) where
4141
42−import Control.Arrow
43−import Control.Applicative hiding ( liftA, liftA2, liftA3 )
42+import Control.Applicative hiding (liftA, liftA2, liftA3)
43+import Control.Arrow
4444
45−import qualified Data.ByteString.Lazy as B
46−import qualified Data.Map as M
47−import Data.List ( find, intercalate )
48−import Data.Maybe
45+import qualified Data.ByteString.Lazy as B
46+import Data.List (find, intercalate)
47+import qualified Data.Map as M
48+import Data.Maybe
4949
50−import qualified Text.XML.Light as XML
50+import qualified Text.XML.Light as XML
5151
52−import Text.Pandoc.Definition
53−import Text.Pandoc.Builder
54−import Text.Pandoc.MediaBag (insertMedia, MediaBag)
55−import Text.Pandoc.Shared
52+import Text.Pandoc.Definition
53+import Text.Pandoc.Builder
54+import Text.Pandoc.MediaBag (MediaBag, insertMedia)
55+import Text.Pandoc.Shared
5656
57−import Text.Pandoc.Readers.Odt.Base
58−import Text.Pandoc.Readers.Odt.Namespaces
59−import Text.Pandoc.Readers.Odt.StyleReader
57+import Text.Pandoc.Readers.Odt.Base
58+import Text.Pandoc.Readers.Odt.Namespaces
59+import Text.Pandoc.Readers.Odt.StyleReader
6060
61−import Text.Pandoc.Readers.Odt.Arrows.Utils
62−import Text.Pandoc.Readers.Odt.Generic.XMLConverter
63−import Text.Pandoc.Readers.Odt.Generic.Fallible
64−import Text.Pandoc.Readers.Odt.Generic.Utils
61+import Text.Pandoc.Readers.Odt.Arrows.Utils
62+import Text.Pandoc.Readers.Odt.Generic.Fallible
63+import Text.Pandoc.Readers.Odt.Generic.Utils
64+import Text.Pandoc.Readers.Odt.Generic.XMLConverter
6565
6666import qualified Data.Set as Set
6767
@@ -342,9 +342,9 @@ modifierFromStyleDiff propertyTriple =
342342 Just oldVPos -> getVPosModifier' (oldVPos, verticalPosition textProps)
343343
344344 getVPosModifier' (oldVPos , newVPos ) | oldVPos == newVPos = ignore
345− getVPosModifier' ( _ , VPosSub ) = subscript
346− getVPosModifier' ( _ , VPosSuper ) = superscript
347− getVPosModifier' ( _ , _ ) = ignore
345+ getVPosModifier' ( _ , VPosSub ) = subscript
346+ getVPosModifier' ( _ , VPosSuper ) = superscript
347+ getVPosModifier' ( _ , _ ) = ignore
348348
349349 hasEmphChanged :: PropertyTriple -> Bool
350350 hasEmphChanged = swing any [ hasChanged isEmphasised
src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs+1−1
@@ -39,7 +39,7 @@ compatible instances of "ArrowChoice".
3939-- We export everything
4040module Text.Pandoc.Readers.Odt.Generic.Fallible where
4141
42−import Data.Monoid ((<>))
42+import Data.Monoid ((<>))
4343
4444-- | Default for now. Will probably become a class at some point.
4545type Failure = ()
src/Text/Pandoc/Readers/Odt/Generic/Utils.hs+7−7
@@ -1,6 +1,6 @@
1−{-# LANGUAGE TypeOperators #-}
2−{-# LANGUAGE TupleSections #-}
31{-# LANGUAGE PatternGuards #-}
2+{-# LANGUAGE TupleSections #-}
3+{-# LANGUAGE TypeOperators #-}
44{-# LANGUAGE ViewPatterns #-}
55
66{-
@@ -51,12 +51,12 @@ module Text.Pandoc.Readers.Odt.Generic.Utils
5151, composition
5252) where
5353
54−import Control.Category ( Category, (>>>), (<<<) )
55−import qualified Control.Category as Cat ( id )
56−import Control.Monad ( msum )
54+import Control.Category (Category, (<<<), (>>>))
55+import qualified Control.Category as Cat (id)
56+import Control.Monad (msum)
5757
58−import qualified Data.Foldable as F ( Foldable, foldr )
59−import Data.Maybe
58+import qualified Data.Foldable as F (Foldable, foldr)
59+import Data.Maybe
6060
6161
6262-- | Aequivalent to
src/Text/Pandoc/Readers/Odt/Namespaces.hs+4−4
@@ -31,11 +31,11 @@ Namespaces used in odt files.
3131module Text.Pandoc.Readers.Odt.Namespaces ( Namespace (..)
3232 ) where
3333
34−import Data.List ( isPrefixOf )
35−import Data.Maybe ( fromMaybe, listToMaybe )
36−import qualified Data.Map as M ( empty, insert )
34+import Data.List (isPrefixOf)
35+import qualified Data.Map as M (empty, insert)
36+import Data.Maybe (fromMaybe, listToMaybe)
3737
38−import Text.Pandoc.Readers.Odt.Generic.Namespaces
38+import Text.Pandoc.Readers.Odt.Generic.Namespaces
3939
4040
4141instance NameSpaceID Namespace where
src/Text/Pandoc/Readers/Odt/StyleReader.hs+25−26
@@ -1,8 +1,7 @@
1−{-# LANGUAGE TupleSections #-}
1+{-# LANGUAGE Arrows #-}
22{-# LANGUAGE PatternGuards #-}
3−{-# LANGUAGE ViewPatterns #-}
43{-# LANGUAGE RecordWildCards #-}
5−{-# LANGUAGE Arrows #-}
4+{-# LANGUAGE TupleSections #-}
65
76{-
87Copyright (C) 2015 Martin Linnemann <theCodingMarlin@googlemail.com>
@@ -58,28 +57,28 @@ module Text.Pandoc.Readers.Odt.StyleReader
5857, readStylesAt
5958) where
6059
61−import Control.Arrow
62−import Control.Applicative hiding ( liftA, liftA2, liftA3 )
60+import Control.Applicative hiding (liftA, liftA2, liftA3)
61+import Control.Arrow
6362
64−import qualified Data.Foldable as F
65−import qualified Data.Map as M
66−import qualified Data.Set as S
67−import Data.Char ( isDigit )
68−import Data.Default
69−import Data.List ( unfoldr )
70−import Data.Maybe
63+import Data.Char (isDigit)
64+import Data.Default
65+import qualified Data.Foldable as F
66+import Data.List (unfoldr)
67+import qualified Data.Map as M
68+import Data.Maybe
69+import qualified Data.Set as S
7170
72−import qualified Text.XML.Light as XML
71+import qualified Text.XML.Light as XML
7372
74−import Text.Pandoc.Readers.Odt.Arrows.Utils
73+import Text.Pandoc.Readers.Odt.Arrows.Utils
7574
76−import Text.Pandoc.Readers.Odt.Generic.Utils
77−import qualified Text.Pandoc.Readers.Odt.Generic.SetMap as SM
78−import Text.Pandoc.Readers.Odt.Generic.Fallible
79−import Text.Pandoc.Readers.Odt.Generic.XMLConverter
75+import Text.Pandoc.Readers.Odt.Generic.Fallible
76+import qualified Text.Pandoc.Readers.Odt.Generic.SetMap as SM
77+import Text.Pandoc.Readers.Odt.Generic.Utils
78+import Text.Pandoc.Readers.Odt.Generic.XMLConverter
8079
81−import Text.Pandoc.Readers.Odt.Namespaces
82−import Text.Pandoc.Readers.Odt.Base
80+import Text.Pandoc.Readers.Odt.Base
81+import Text.Pandoc.Readers.Odt.Namespaces
8382
8483
8584readStylesAt :: XML.Element -> Fallible Styles
@@ -217,15 +216,15 @@ instance Lookupable StyleFamily where
217216 ]
218217
219218-- | A named style
220−data Style = Style { styleFamily :: Maybe StyleFamily
221− , styleParentName :: Maybe StyleName
222− , listStyle :: Maybe StyleName
223− , styleProperties :: StyleProperties
219+data Style = Style { styleFamily :: Maybe StyleFamily
220+ , styleParentName :: Maybe StyleName
221+ , listStyle :: Maybe StyleName
222+ , styleProperties :: StyleProperties
224223 }
225224 deriving ( Eq, Show )
226225
227−data StyleProperties = SProps { textProperties :: Maybe TextProperties
228− , paraProperties :: Maybe ParaProperties
226+data StyleProperties = SProps { textProperties :: Maybe TextProperties
227+ , paraProperties :: Maybe ParaProperties
229228-- , tableColProperties :: Maybe TColProperties
230229-- , tableRowProperties :: Maybe TRowProperties
231230-- , tableCellProperties :: Maybe TCellProperties
src/Text/Pandoc/Readers/Org/ParserState.hs+5−6
@@ -64,14 +64,13 @@ import Text.Pandoc.Builder (Blocks, Inlines)
6464import Text.Pandoc.Definition (Meta (..), nullMeta)
6565import Text.Pandoc.Logging
6666import Text.Pandoc.Options (ReaderOptions (..))
67−import Text.Pandoc.Readers.LaTeX.Types (Macro)
6867import Text.Pandoc.Parsing (Future, HasHeaderMap (..), HasIdentifierList (..),
6968 HasIncludeFiles (..), HasLastStrPosition (..),
70− HasLogMessages (..), HasQuoteContext (..),
71− HasMacros (..),
72− HasReaderOptions (..), ParserContext (..),
73− QuoteContext (..), SourcePos, askF, asksF, returnF,
74− runF, trimInlinesF)
69+ HasLogMessages (..), HasMacros (..),
70+ HasQuoteContext (..), HasReaderOptions (..),
71+ ParserContext (..), QuoteContext (..), SourcePos,
72+ askF, asksF, returnF, runF, trimInlinesF)
73+import Text.Pandoc.Readers.LaTeX.Types (Macro)
7574
7675-- | This is used to delay evaluation until all relevant information has been
7776-- parsed and made available in the parser state.
src/Text/Pandoc/Readers/RST.hs+21−21
@@ -31,21 +31,23 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3131Conversion from reStructuredText to 'Pandoc' document.
3232-}
3333module Text.Pandoc.Readers.RST ( readRST ) where
34−import Control.Monad (guard, liftM, mzero, when, forM_, mplus)
35−import Control.Monad.Identity (Identity(..))
34+import Control.Monad (forM_, guard, liftM, mplus, mzero, when)
3635import Control.Monad.Except (throwError)
36+import Control.Monad.Identity (Identity (..))
3737import Data.Char (isHexDigit, isSpace, toLower, toUpper)
38−import Data.List (deleteFirstsBy, findIndex, intercalate, isInfixOf,
39− isSuffixOf, nub, sort, transpose, union)
38+import Data.List (deleteFirstsBy, findIndex, intercalate, isInfixOf, isSuffixOf,
39+ nub, sort, transpose, union)
4040import qualified Data.Map as M
4141import Data.Maybe (fromMaybe, isJust)
4242import Data.Monoid ((<>))
4343import Data.Sequence (ViewR (..), viewr)
44+import Data.Text (Text)
45+import qualified Data.Text as T
4446import Text.Pandoc.Builder (fromList, setMeta)
4547import Text.Pandoc.Builder (Blocks, Inlines, trimInlines)
4648import qualified Text.Pandoc.Builder as B
47−import Text.Pandoc.Class (PandocMonad, readFileFromDirs, fetchItem)
48−import Text.Pandoc.CSV (CSVOptions(..), defaultCSVOptions, parseCSV)
49+import Text.Pandoc.Class (PandocMonad, fetchItem, readFileFromDirs)
50+import Text.Pandoc.CSV (CSVOptions (..), defaultCSVOptions, parseCSV)
4951import Text.Pandoc.Definition
5052import Text.Pandoc.Error
5153import Text.Pandoc.ImageSize (lengthToDim, scaleDimension)
@@ -55,8 +57,6 @@ import Text.Pandoc.Parsing
5557import Text.Pandoc.Shared
5658import qualified Text.Pandoc.UTF8 as UTF8
5759import Text.Printf (printf)
58−import Data.Text (Text)
59−import qualified Data.Text as T
6060
6161-- TODO:
6262-- [ ] .. parsed-literal
@@ -149,10 +149,10 @@ metaFromDefList ds meta = adjustAuthors $ foldr f meta ds
149149 splitOnSemi . concatMap factorSemi
150150 normalizeSpaces = reverse . dropWhile isSp . reverse .
151151 dropWhile isSp
152− isSp Space = True
153− isSp SoftBreak = True
154− isSp LineBreak = True
155− isSp _ = False
152+ isSp Space = True
153+ isSp SoftBreak = True
154+ isSp LineBreak = True
155+ isSp _ = False
156156 splitOnSemi = splitBy (==Str ";")
157157 factorSemi (Str []) = []
158158 factorSemi (Str s) = case break (==';') s of
@@ -817,9 +817,9 @@ listTableDirective top fields body = do
817817 headerRow
818818 bodyRows
819819 where takeRows [BulletList rows] = map takeCells rows
820− takeRows _ = []
820+ takeRows _ = []
821821 takeCells [BulletList cells] = map B.fromList cells
822− takeCells _ = []
822+ takeCells _ = []
823823 normWidths ws = map (/ max 1 (sum ws)) ws
824824
825825csvTableDirective :: PandocMonad m
@@ -829,19 +829,19 @@ csvTableDirective top fields rawcsv = do
829829 let explicitHeader = trim <$> lookup "header" fields
830830 let opts = defaultCSVOptions{
831831 csvDelim = case trim <$> lookup "delim" fields of
832− Just "tab" -> '\t'
832+ Just "tab" -> '\t'
833833 Just "space" -> ' '
834− Just [c] -> c
835− _ -> ','
834+ Just [c] -> c
835+ _ -> ','
836836 , csvQuote = case trim <$> lookup "quote" fields of
837837 Just [c] -> c
838− _ -> '"'
838+ _ -> '"'
839839 , csvEscape = case trim <$> lookup "escape" fields of
840840 Just [c] -> Just c
841− _ -> Nothing
841+ _ -> Nothing
842842 , csvKeepSpace = case trim <$> lookup "keepspace" fields of
843843 Just "true" -> True
844− _ -> False
844+ _ -> False
845845 }
846846 let headerRowsNum = fromMaybe (case explicitHeader of
847847 Just _ -> 1 :: Int
@@ -854,7 +854,7 @@ csvTableDirective top fields rawcsv = do
854854 return $ UTF8.toString bs
855855 Nothing -> return rawcsv
856856 let res = parseCSV opts (T.pack $ case explicitHeader of
857− Just h -> h ++ "\n" ++ rawcsv'
857+ Just h -> h ++ "\n" ++ rawcsv'
858858 Nothing -> rawcsv')
859859 case res of
860860 Left e -> do
src/Text/Pandoc/Readers/TWiki.hs+4−4
@@ -40,17 +40,17 @@ import Control.Monad.Except (throwError)
4040import Data.Char (isAlphaNum)
4141import qualified Data.Foldable as F
4242import Data.Maybe (fromMaybe)
43+import Data.Text (Text)
44+import qualified Data.Text as T
4345import Text.HTML.TagSoup
4446import qualified Text.Pandoc.Builder as B
45−import Text.Pandoc.Class (PandocMonad(..))
47+import Text.Pandoc.Class (PandocMonad (..))
4648import Text.Pandoc.Definition
4749import Text.Pandoc.Options
4850import Text.Pandoc.Parsing hiding (enclosed, nested)
4951import Text.Pandoc.Readers.HTML (htmlTag, isCommentTag)
50−import Text.Pandoc.XML (fromEntities)
5152import Text.Pandoc.Shared (crFilter)
52−import Data.Text (Text)
53−import qualified Data.Text as T
53+import Text.Pandoc.XML (fromEntities)
5454
5555-- | Read twiki from an input string and return a Pandoc document.
5656readTWiki :: PandocMonad m
src/Text/Pandoc/Readers/Textile.hs+4−4
@@ -57,20 +57,20 @@ import Control.Monad.Except (throwError)
5757import Data.Char (digitToInt, isUpper)
5858import Data.List (intercalate, intersperse, transpose)
5959import Data.Monoid ((<>))
60+import Data.Text (Text)
61+import qualified Data.Text as T
6062import Text.HTML.TagSoup (Tag (..), fromAttrib)
6163import Text.HTML.TagSoup.Match
6264import Text.Pandoc.Builder (Blocks, Inlines, trimInlines)
6365import qualified Text.Pandoc.Builder as B
64−import Text.Pandoc.Class (PandocMonad(..))
66+import Text.Pandoc.Class (PandocMonad (..))
6567import Text.Pandoc.CSS
6668import Text.Pandoc.Definition
6769import Text.Pandoc.Options
6870import Text.Pandoc.Parsing
6971import Text.Pandoc.Readers.HTML (htmlTag, isBlockTag, isInlineTag)
7072import Text.Pandoc.Readers.LaTeX (rawLaTeXBlock, rawLaTeXInline)
71−import Text.Pandoc.Shared (trim, crFilter, underlineSpan)
72−import Data.Text (Text)
73−import qualified Data.Text as T
73+import Text.Pandoc.Shared (crFilter, trim, underlineSpan)
7474
7575-- | Parse a Textile text and return a Pandoc document.
7676readTextile :: PandocMonad m
src/Text/Pandoc/Readers/TikiWiki.hs+24−22
@@ -1,6 +1,8 @@
1−{-# LANGUAGE RelaxedPolyRec, FlexibleInstances, TypeSynonymInstances #-}
2−{-# LANGUAGE OverloadedStrings #-}
3−{-# LANGUAGE FlexibleContexts #-}
1+{-# LANGUAGE FlexibleContexts #-}
2+{-# LANGUAGE FlexibleInstances #-}
3+{-# LANGUAGE OverloadedStrings #-}
4+{-# LANGUAGE RelaxedPolyRec #-}
5+{-# LANGUAGE TypeSynonymInstances #-}
46
57{- |
68 Module : Text.Pandoc.Readers.TikiWiki
@@ -19,20 +21,20 @@ module Text.Pandoc.Readers.TikiWiki ( readTikiWiki
1921
2022import Control.Monad
2123import Control.Monad.Except (throwError)
22−import Text.Pandoc.Definition
24+import qualified Data.Foldable as F
25+import Data.List (intercalate)
26+import Data.Maybe (fromMaybe)
27+import Data.Text (Text)
28+import qualified Data.Text as T
2329import qualified Text.Pandoc.Builder as B
30+import Text.Pandoc.Class (CommonState (..), PandocMonad (..))
31+import Text.Pandoc.Definition
32+import Text.Pandoc.Logging (Verbosity (..))
2433import Text.Pandoc.Options
2534import Text.Pandoc.Parsing hiding (enclosed, nested)
26−import Text.Printf (printf)
27−import Text.Pandoc.XML (fromEntities)
28−import Text.Pandoc.Class (PandocMonad(..), CommonState(..))
2935import Text.Pandoc.Shared (crFilter)
30−import Text.Pandoc.Logging (Verbosity(..))
31−import Data.Maybe (fromMaybe)
32−import Data.List (intercalate)
33−import qualified Data.Foldable as F
34−import Data.Text (Text)
35−import qualified Data.Text as T
36+import Text.Pandoc.XML (fromEntities)
37+import Text.Printf (printf)
3638
3739-- | Read TikiWiki from an input string and return a Pandoc document.
3840readTikiWiki :: PandocMonad m
@@ -129,9 +131,9 @@ header = tryMsg "header" $ do
129131
130132tableRow :: PandocMonad m => TikiWikiParser m [B.Blocks]
131133tableRow = try $ do
132−-- row <- sepBy1 (many1Till inline $ oneOf "\n|") (try $ string "|" <* notFollowedBy (oneOf "|\n"))
134+-- row <- sepBy1 (many1Till inline $ oneOf "\n|") (try $ string "|" <* notFollowedBy (oneOf "|\n"))
133135-- return $ map (B.plain . mconcat) row
134− row <- sepBy1 ((many1 $ noneOf "\n|") >>= parseColumn) (try $ string "|" <* notFollowedBy (oneOf "|\n"))
136+ row <- sepBy1 ((many1 $ noneOf "\n|") >>= parseColumn) (try $ string "|" <* notFollowedBy (oneOf "|\n"))
135137 return $ map B.plain row
136138 where
137139 parseColumn x = do
@@ -155,7 +157,7 @@ tableRow = try $ do
155157-- || Orange | Apple | more
156158-- Bread | Pie | more
157159-- Butter | Ice cream | and more ||
158−--
160+--
159161table :: PandocMonad m => TikiWikiParser m B.Blocks
160162table = try $ do
161163 string "||"
@@ -233,8 +235,8 @@ fixListNesting :: [B.Blocks] -> [B.Blocks]
233235fixListNesting [] = []
234236fixListNesting (first:[]) = [recurseOnList first]
235237-- fixListNesting nestall | trace ("\n\nfixListNesting: " ++ (show nestall)) False = undefined
236−-- fixListNesting nestall@(first:second:rest) =
237−fixListNesting (first:second:rest) =
238+-- fixListNesting nestall@(first:second:rest) =
239+fixListNesting (first:second:rest) =
238240 let secondBlock = head $ B.toList second in
239241 case secondBlock of
240242 BulletList _ -> fixListNesting $ [(mappend (recurseOnList first) (recurseOnList second))] ++ rest
@@ -300,8 +302,8 @@ listWrap upperLN curLN retTree =
300302 retTree
301303 else
302304 case lntype curLN of
303− None -> []
304− Bullet -> [B.bulletList retTree]
305+ None -> []
306+ Bullet -> [B.bulletList retTree]
305307 Numbered -> [B.orderedList retTree]
306308
307309listItem :: PandocMonad m => TikiWikiParser m (ListNesting, B.Blocks)
@@ -418,7 +420,7 @@ whitespace = (lb <|> regsp) >>= return
418420-- for this
419421nbsp :: PandocMonad m => TikiWikiParser m B.Inlines
420422nbsp = try $ do
421− string "~hs~"
423+ string "~hs~"
422424 return $ B.str " NOT SUPPORTED BEGIN: ~hs~ (non-breaking space) :END "
423425
424426-- UNSUPPORTED, as the desired behaviour (that the data be
@@ -426,7 +428,7 @@ nbsp = try $ do
426428-- silently throwing data out seemed bad.
427429htmlComment :: PandocMonad m => TikiWikiParser m B.Inlines
428430htmlComment = try $ do
429− string "~hc~"
431+ string "~hc~"
430432 inner <- many1 $ noneOf "~"
431433 string "~/hc~"
432434 return $ B.str $ " NOT SUPPORTED: ~hc~ (html comment opener) BEGIN: " ++ inner ++ " ~/hc~ :END "
src/Text/Pandoc/Readers/Txt2Tags.hs+11−10
@@ -32,26 +32,27 @@ module Text.Pandoc.Readers.Txt2Tags ( readTxt2Tags
3232 )
3333 where
3434
35+import Control.Monad (guard, void, when)
36+import Control.Monad.Except (catchError, throwError)
37+import Control.Monad.Reader (Reader, asks, runReader)
3538import Data.Char (toLower)
39+import Data.Default
3640import Data.List (intercalate, intersperse, transpose)
3741import Data.Maybe (fromMaybe)
3842import Data.Monoid ((<>))
39−import Text.Pandoc.Builder (Blocks, Inlines, trimInlines)
40−import qualified Text.Pandoc.Builder as B
41−import Text.Pandoc.Definition
42−import Text.Pandoc.Options
43−import Text.Pandoc.Parsing hiding (space, spaces, uri)
44−import Text.Pandoc.Shared (compactify, compactifyDL, escapeURI, crFilter, underlineSpan)
45−import Control.Monad (guard, void, when)
46−import Control.Monad.Reader (Reader, asks, runReader)
47−import Data.Default
4843import Data.Text (Text)
4944import qualified Data.Text as T
50−import Control.Monad.Except (catchError, throwError)
5145import Data.Time.Format (formatTime)
46+import Text.Pandoc.Builder (Blocks, Inlines, trimInlines)
47+import qualified Text.Pandoc.Builder as B
5248import Text.Pandoc.Class (PandocMonad)
5349import qualified Text.Pandoc.Class as P
5450import Text.Pandoc.Compat.Time (defaultTimeLocale)
51+import Text.Pandoc.Definition
52+import Text.Pandoc.Options
53+import Text.Pandoc.Parsing hiding (space, spaces, uri)
54+import Text.Pandoc.Shared (compactify, compactifyDL, crFilter, escapeURI,
55+ underlineSpan)
5556
5657type T2T = ParserT String ParserState (Reader T2TMeta)
5758
src/Text/Pandoc/Readers/Vimwiki.hs+39−34
@@ -63,36 +63,41 @@ Conversion of vimwiki text to 'Pandoc' document.
6363
6464module Text.Pandoc.Readers.Vimwiki ( readVimwiki
6565 ) where
66−import Control.Monad.Except (throwError)
6766import Control.Monad (guard)
67+import Control.Monad.Except (throwError)
6868import Data.Default
69+import Data.List (isInfixOf, isPrefixOf)
6970import Data.Maybe
7071import Data.Monoid ((<>))
71−import Data.List (isInfixOf, isPrefixOf)
7272import Data.Text (Text, unpack)
73−import Text.Pandoc.Builder (Blocks, Inlines, trimInlines, fromList, toList)
74−import qualified Text.Pandoc.Builder
75− as B (headerWith, str, space, strong, emph, strikeout, code, link, image,
76− spanWith, para, horizontalRule, blockQuote, bulletList, plain,
77− orderedList, simpleTable, softbreak, codeBlockWith, imageWith, divWith,
78− setMeta, definitionList, superscript, subscript, displayMath,
79− math)
80−import Text.Pandoc.Class (PandocMonad(..))
81−import Text.Pandoc.Definition (Pandoc(..), Inline(Space),
82− Block(BulletList, OrderedList), Attr, nullMeta, Meta, ListNumberStyle(..),
83− ListNumberDelim(..))
73+import Text.Pandoc.Builder (Blocks, Inlines, fromList, toList, trimInlines)
74+import qualified Text.Pandoc.Builder as B (blockQuote, bulletList, code,
75+ codeBlockWith, definitionList,
76+ displayMath, divWith, emph,
77+ headerWith, horizontalRule, image,
78+ imageWith, link, math, orderedList,
79+ para, plain, setMeta, simpleTable,
80+ softbreak, space, spanWith, str,
81+ strikeout, strong, subscript,
82+ superscript)
83+import Text.Pandoc.Class (PandocMonad (..))
84+import Text.Pandoc.Definition (Attr, Block (BulletList, OrderedList),
85+ Inline (Space), ListNumberDelim (..),
86+ ListNumberStyle (..), Meta, Pandoc (..),
87+ nullMeta)
8488import Text.Pandoc.Options (ReaderOptions)
85−import Text.Pandoc.Parsing (readWithM, ParserT, stateOptions, ParserState,
86− stateMeta', blanklines, registerHeader, spaceChar, emailAddress, uri, F, runF,
87− orderedListMarker, many1Till)
88−import Text.Pandoc.Shared (splitBy, stripFirstAndLast, stringify, crFilter)
89−import Text.Parsec.Char (spaces, char, anyChar, newline, string, noneOf,
90− alphaNum)
91−import Text.Parsec.Combinator (eof, choice, many1, manyTill, count, skipMany1,
92− notFollowedBy, option)
93−import Text.Parsec.Prim (many, try, updateState, getState)
89+import Text.Pandoc.Parsing (F, ParserState, ParserT, blanklines, emailAddress,
90+ many1Till, orderedListMarker, readWithM,
91+ registerHeader, runF, spaceChar, stateMeta',
92+ stateOptions, uri)
93+import Text.Pandoc.Shared (crFilter, splitBy, stringify, stripFirstAndLast)
94+import Text.Parsec.Char (alphaNum, anyChar, char, newline, noneOf, spaces,
95+ string)
9496import Text.Parsec.Char (oneOf, space)
95−import Text.Parsec.Combinator (lookAhead, between)
97+import Text.Parsec.Combinator (choice, count, eof, many1, manyTill,
98+ notFollowedBy, option, skipMany1)
99+import Text.Parsec.Combinator (between, lookAhead)
100+import Text.Parsec.Prim (getState, many, try, updateState)
96101import Text.Parsec.Prim ((<|>))
97102
98103readVimwiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc
@@ -100,7 +105,7 @@ readVimwiki opts s = do
100105 res <- readWithM parseVimwiki def{ stateOptions = opts }
101106 (unpack (crFilter s))
102107 case res of
103− Left e -> throwError e
108+ Left e -> throwError e
104109 Right result -> return result
105110
106111type VwParser = ParserT [Char] ParserState
@@ -278,19 +283,19 @@ displayMath = try $ do
278283
279284mathTagLaTeX :: String -> String
280285mathTagLaTeX s = case s of
281− "equation" -> ""
286+ "equation" -> ""
282287 "equation*" -> ""
283− "gather" -> "gathered"
284− "gather*" -> "gathered"
285− "multline" -> "gathered"
288+ "gather" -> "gathered"
289+ "gather*" -> "gathered"
290+ "multline" -> "gathered"
286291 "multline*" -> "gathered"
287− "eqnarray" -> "aligned"
292+ "eqnarray" -> "aligned"
288293 "eqnarray*" -> "aligned"
289− "align" -> "aligned"
290− "align*" -> "aligned"
291− "alignat" -> "aligned"
292− "alignat*" -> "aligned"
293− _ -> s
294+ "align" -> "aligned"
295+ "align*" -> "aligned"
296+ "alignat" -> "aligned"
297+ "alignat*" -> "aligned"
298+ _ -> s
294299
295300
296301mixedList :: PandocMonad m => VwParser m Blocks
src/Text/Pandoc/SelfContained.hs+3−3
@@ -35,18 +35,18 @@ import Codec.Compression.GZip as Gzip
3535import Control.Applicative ((<|>))
3636import Control.Monad.Except (throwError)
3737import Control.Monad.Trans (lift)
38−import Data.Monoid ((<>))
3938import Data.ByteString (ByteString)
4039import Data.ByteString.Base64
4140import qualified Data.ByteString.Char8 as B
4241import qualified Data.ByteString.Lazy as L
4342import Data.Char (isAlphaNum, isAscii, toLower)
4443import Data.List (isPrefixOf)
44+import Data.Monoid ((<>))
4545import Network.URI (escapeURIString)
4646import System.FilePath (takeDirectory, takeExtension, (</>))
4747import Text.HTML.TagSoup
48−import Text.Pandoc.Class (PandocMonad (..), fetchItem, report,
49− getInputFiles, setInputFiles)
48+import Text.Pandoc.Class (PandocMonad (..), fetchItem, getInputFiles, report,
49+ setInputFiles)
5050import Text.Pandoc.Error
5151import Text.Pandoc.Logging
5252import Text.Pandoc.MIME (MimeType)
src/Text/Pandoc/Shared.hs+67−63
@@ -1,6 +1,10 @@
1−{-# LANGUAGE DeriveDataTypeable, CPP, MultiParamTypeClasses,
2− FlexibleContexts, ScopedTypeVariables, PatternGuards,
3− ViewPatterns #-}
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE FlexibleContexts #-}
4+{-# LANGUAGE MultiParamTypeClasses #-}
5+{-# LANGUAGE PatternGuards #-}
6+{-# LANGUAGE ScopedTypeVariables #-}
7+{-# LANGUAGE ViewPatterns #-}
48{-
59Copyright (C) 2006-2017 John MacFarlane <jgm@berkeley.edu>
610
@@ -94,37 +98,37 @@ module Text.Pandoc.Shared (
9498 pandocVersion
9599 ) where
96100
97−import Text.Pandoc.Definition
98−import Text.Pandoc.Walk
99−import Text.Pandoc.Builder (Inlines, Blocks, ToMetaValue(..))
100−import qualified Text.Pandoc.Builder as B
101−import Data.Char ( toLower, isLower, isUpper, isAlpha,
102− isLetter, isDigit, isSpace )
103−import Data.List ( find, stripPrefix, intercalate )
104−import Data.Maybe (mapMaybe)
105−import Data.Version ( showVersion )
101+import Codec.Archive.Zip
102+import qualified Control.Exception as E
103+import Control.Monad (MonadPlus (..), msum, unless)
104+import qualified Control.Monad.State.Strict as S
105+import qualified Data.ByteString.Lazy as BL
106+import Data.Char (isAlpha, isDigit, isLetter, isLower, isSpace, isUpper,
107+ toLower)
108+import Data.Generics (Data, Typeable)
109+import Data.List (find, intercalate, stripPrefix)
106110import qualified Data.Map as M
107−import Network.URI ( URI(uriScheme), escapeURIString, parseURI )
111+import Data.Maybe (mapMaybe)
112+import Data.Monoid ((<>))
113+import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr)
108114import qualified Data.Set as Set
115+import qualified Data.Text as T
116+import Data.Version (showVersion)
117+import Network.URI (URI (uriScheme), escapeURIString, parseURI)
118+import Paths_pandoc (version)
109119import System.Directory
110−import System.FilePath (splitDirectories, isPathSeparator)
120+import System.FilePath (isPathSeparator, splitDirectories)
111121import qualified System.FilePath.Posix as Posix
112−import Data.Generics (Typeable, Data)
113−import qualified Control.Monad.State.Strict as S
114−import qualified Control.Exception as E
115−import Control.Monad (msum, unless, MonadPlus(..))
116−import Text.Pandoc.Pretty (charWidth)
117−import Text.Pandoc.Generic (bottomUp)
118−import Text.Pandoc.Compat.Time
119122import System.IO.Temp
120−import Text.HTML.TagSoup (renderTagsOptions, RenderOptions(..), Tag(..),
121− renderOptions)
122−import Data.Monoid ((<>))
123−import Data.Sequence (ViewR(..), ViewL(..), viewl, viewr)
124−import qualified Data.Text as T
125−import qualified Data.ByteString.Lazy as BL
126−import Paths_pandoc (version)
127−import Codec.Archive.Zip
123+import Text.HTML.TagSoup (RenderOptions (..), Tag (..), renderOptions,
124+ renderTagsOptions)
125+import Text.Pandoc.Builder (Blocks, Inlines, ToMetaValue (..))
126+import qualified Text.Pandoc.Builder as B
127+import Text.Pandoc.Compat.Time
128+import Text.Pandoc.Definition
129+import Text.Pandoc.Generic (bottomUp)
130+import Text.Pandoc.Pretty (charWidth)
131+import Text.Pandoc.Walk
128132
129133-- | Version number of pandoc library.
130134pandocVersion :: String
@@ -192,8 +196,8 @@ escapeStringUsing :: [(Char, String)] -> String -> String
192196escapeStringUsing _ [] = ""
193197escapeStringUsing escapeTable (x:xs) =
194198 case (lookup x escapeTable) of
195− Just str -> str ++ rest
196− Nothing -> x:rest
199+ Just str -> str ++ rest
200+ Nothing -> x:rest
197201 where rest = escapeStringUsing escapeTable xs
198202
199203-- | Strip trailing newlines from string.
@@ -279,7 +283,7 @@ normalizeDate s = fmap (formatTime defaultTimeLocale "%F")
279283 (msum $ map (\fs -> parsetimeWith fs s >>= rejectBadYear) formats :: Maybe Day)
280284 where rejectBadYear day = case toGregorian day of
281285 (y, _, _) | y >= 1601 && y <= 9999 -> Just day
282− _ -> Nothing
286+ _ -> Nothing
283287 parsetimeWith =
284288#if MIN_VERSION_time(1,5,0)
285289 parseTimeM True defaultTimeLocale
@@ -336,13 +340,13 @@ extractSpaces f is =
336340removeFormatting :: Walkable Inline a => a -> [Inline]
337341removeFormatting = query go . walk (deNote . deQuote)
338342 where go :: Inline -> [Inline]
339− go (Str xs) = [Str xs]
340− go Space = [Space]
341− go SoftBreak = [SoftBreak]
342− go (Code _ x) = [Str x]
343− go (Math _ x) = [Str x]
344− go LineBreak = [Space]
345− go _ = []
343+ go (Str xs) = [Str xs]
344+ go Space = [Space]
345+ go SoftBreak = [SoftBreak]
346+ go (Code _ x) = [Str x]
347+ go (Math _ x) = [Str x]
348+ go LineBreak = [Space]
349+ go _ = []
346350
347351deNote :: Inline -> Inline
348352deNote (Note _) = Str ""
@@ -361,14 +365,14 @@ deQuote x = x
361365stringify :: Walkable Inline a => a -> String
362366stringify = query go . walk (deNote . deQuote)
363367 where go :: Inline -> [Char]
364− go Space = " "
365− go SoftBreak = " "
366− go (Str x) = x
367− go (Code _ x) = x
368− go (Math _ x) = x
368+ go Space = " "
369+ go SoftBreak = " "
370+ go (Str x) = x
371+ go (Code _ x) = x
372+ go (Math _ x) = x
369373 go (RawInline (Format "html") ('<':'b':'r':_)) = " " -- see #2105
370− go LineBreak = " "
371− go _ = ""
374+ go LineBreak = " "
375+ go _ = ""
372376
373377-- | Bring all regular text in a pandoc structure to uppercase.
374378--
@@ -440,7 +444,7 @@ instance Walkable Inline Element where
440444 ils' <- walkM f ils
441445 elts' <- walkM f elts
442446 return $ Sec lev nums attr ils' elts'
443− query f (Blk x) = query f x
447+ query f (Blk x) = query f x
444448 query f (Sec _ _ _ ils elts) = query f ils <> query f elts
445449
446450instance Walkable Block Element where
@@ -451,7 +455,7 @@ instance Walkable Block Element where
451455 ils' <- walkM f ils
452456 elts' <- walkM f elts
453457 return $ Sec lev nums attr ils' elts'
454− query f (Blk x) = query f x
458+ query f (Blk x) = query f x
455459 query f (Sec _ _ _ ils elts) = query f ils <> query f elts
456460
457461
@@ -464,8 +468,8 @@ inlineListToIdentifier =
464468 map (nbspToSp . toLower) .
465469 filter (\c -> isLetter c || isDigit c || c `elem` "_-. ") .
466470 stringify
467− where nbspToSp '\160' = ' '
468− nbspToSp x = x
471+ where nbspToSp '\160' = ' '
472+ nbspToSp x = x
469473
470474-- | Convert list of Pandoc blocks into (hierarchical) list of Elements
471475hierarchicalize :: [Block] -> [Element]
@@ -495,17 +499,17 @@ hierarchicalizeWithIds (x:rest) = do
495499 return $ (Blk x) : rest'
496500
497501headerLtEq :: Int -> Block -> Bool
498−headerLtEq level (Header l _ _) = l <= level
499−headerLtEq level (Div ("",["references"],[]) (Header l _ _ : _)) = l <= level
500−headerLtEq _ _ = False
502+headerLtEq level (Header l _ _) = l <= level
503+headerLtEq level (Div ("",["references"],[]) (Header l _ _ : _)) = l <= level
504+headerLtEq _ _ = False
501505
502506-- | Generate a unique identifier from a list of inlines.
503507-- Second argument is a list of already used identifiers.
504508uniqueIdent :: [Inline] -> Set.Set String -> String
505509uniqueIdent title' usedIdents
506510 = let baseIdent = case inlineListToIdentifier title' of
507− "" -> "section"
508− x -> x
511+ "" -> "section"
512+ x -> x
509513 numIdent n = baseIdent ++ "-" ++ show n
510514 in if baseIdent `Set.member` usedIdents
511515 then case find (\x -> not $ numIdent x `Set.member` usedIdents) ([1..60000] :: [Int]) of
@@ -516,7 +520,7 @@ uniqueIdent title' usedIdents
516520-- | True if block is a Header block.
517521isHeaderBlock :: Block -> Bool
518522isHeaderBlock (Header _ _ _) = True
519−isHeaderBlock _ = False
523+isHeaderBlock _ = False
520524
521525-- | Shift header levels up or down.
522526headerShift :: Int -> Pandoc -> Pandoc
@@ -542,8 +546,8 @@ addMetaField key val (Meta meta) =
542546 Meta $ M.insertWith combine key (toMetaValue val) meta
543547 where combine newval (MetaList xs) = MetaList (xs ++ tolist newval)
544548 combine newval x = MetaList [x, newval]
545− tolist (MetaList ys) = ys
546− tolist y = [y]
549+ tolist (MetaList ys) = ys
550+ tolist y = [y]
547551
548552-- | Create 'Meta' from old-style title, authors, date. This is
549553-- provided to ease the transition from the old API.
@@ -599,7 +603,7 @@ inDirectory path action = E.bracket
599603--
600604
601605mapLeft :: (a -> b) -> Either a c -> Either b c
602−mapLeft f (Left x) = Left (f x)
606+mapLeft f (Left x) = Left (f x)
603607mapLeft _ (Right x) = Right x
604608
605609-- | Remove intermediate "." and ".." directories from a path.
@@ -616,14 +620,14 @@ collapseFilePath = Posix.joinPath . reverse . foldl go [] . splitDirectories
616620 where
617621 go rs "." = rs
618622 go r@(p:rs) ".." = case p of
619− ".." -> ("..":r)
623+ ".." -> ("..":r)
620624 (checkPathSeperator -> Just True) -> ("..":r)
621− _ -> rs
625+ _ -> rs
622626 go _ (checkPathSeperator -> Just True) = [[Posix.pathSeparator]]
623627 go rs x = x:rs
624− isSingleton [] = Nothing
628+ isSingleton [] = Nothing
625629 isSingleton [x] = Just x
626− isSingleton _ = Nothing
630+ isSingleton _ = Nothing
627631 checkPathSeperator = fmap isPathSeparator . isSingleton
628632
629633--
src/Text/Pandoc/Templates.hs+1−1
@@ -44,7 +44,7 @@ import qualified Data.Text as T
4444import System.FilePath ((<.>), (</>))
4545import Text.DocTemplates (Template, TemplateTarget, applyTemplate,
4646 compileTemplate, renderTemplate, varListToJSON)
47−import Text.Pandoc.Class (readDataFile, PandocMonad)
47+import Text.Pandoc.Class (PandocMonad, readDataFile)
4848import Text.Pandoc.Error
4949import qualified Text.Pandoc.UTF8 as UTF8
5050
src/Text/Pandoc/Translations.hs+5−5
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveGeneric #-}
1+{-# LANGUAGE DeriveGeneric #-}
22{-# LANGUAGE GeneralizedNewtypeDeriving #-}
33{-
44Copyright (C) 2017 John MacFarlane <jgm@berkeley.edu>
@@ -45,14 +45,14 @@ module Text.Pandoc.Translations (
4545 , readTranslations
4646 )
4747where
48+import Data.Aeson.Types (typeMismatch)
4849import qualified Data.HashMap.Strict as HM
4950import qualified Data.Map as M
50−import GHC.Generics (Generic)
51−import qualified Text.Pandoc.UTF8 as UTF8
5251import Data.Text as T
53−import Text.Pandoc.Shared (safeRead)
5452import Data.Yaml as Yaml
55−import Data.Aeson.Types (typeMismatch)
53+import GHC.Generics (Generic)
54+import Text.Pandoc.Shared (safeRead)
55+import qualified Text.Pandoc.UTF8 as UTF8
5656
5757data Term =
5858 Preface
src/Text/Pandoc/Writers.hs+4−4
@@ -82,11 +82,13 @@ module Text.Pandoc.Writers
8282 ) where
8383
8484import Data.Aeson
85+import qualified Data.ByteString.Lazy as BL
8586import Data.List (intercalate)
8687import Data.Text (Text)
8788import Text.Pandoc.Class
8889import Text.Pandoc.Definition
8990import Text.Pandoc.Options
91+import qualified Text.Pandoc.UTF8 as UTF8
9092import Text.Pandoc.Writers.AsciiDoc
9193import Text.Pandoc.Writers.CommonMark
9294import Text.Pandoc.Writers.ConTeXt
@@ -96,8 +98,8 @@ import Text.Pandoc.Writers.Docx
9698import Text.Pandoc.Writers.DokuWiki
9799import Text.Pandoc.Writers.EPUB
98100import Text.Pandoc.Writers.FB2
99−import Text.Pandoc.Writers.HTML
100101import Text.Pandoc.Writers.Haddock
102+import Text.Pandoc.Writers.HTML
101103import Text.Pandoc.Writers.ICML
102104import Text.Pandoc.Writers.JATS
103105import Text.Pandoc.Writers.LaTeX
@@ -108,8 +110,8 @@ import Text.Pandoc.Writers.Ms
108110import Text.Pandoc.Writers.Muse
109111import Text.Pandoc.Writers.Native
110112import Text.Pandoc.Writers.ODT
111−import Text.Pandoc.Writers.OPML
112113import Text.Pandoc.Writers.OpenDocument
114+import Text.Pandoc.Writers.OPML
113115import Text.Pandoc.Writers.Org
114116import Text.Pandoc.Writers.RST
115117import Text.Pandoc.Writers.RTF
@@ -118,8 +120,6 @@ import Text.Pandoc.Writers.Texinfo
118120import Text.Pandoc.Writers.Textile
119121import Text.Pandoc.Writers.ZimWiki
120122import Text.Parsec.Error
121−import qualified Text.Pandoc.UTF8 as UTF8
122−import qualified Data.ByteString.Lazy as BL
123123
124124data Writer m = TextWriter (WriterOptions -> Pandoc -> m Text)
125125 | ByteStringWriter (WriterOptions -> Pandoc -> m BL.ByteString)
src/Text/Pandoc/Writers/CommonMark.hs+3−3
@@ -35,8 +35,8 @@ module Text.Pandoc.Writers.CommonMark (writeCommonMark) where
3535import CMarkGFM
3636import Control.Monad.State.Strict (State, get, modify, runState)
3737import Data.Foldable (foldrM)
38−import Data.Monoid (Any (..), (<>))
3938import Data.List (transpose)
39+import Data.Monoid (Any (..), (<>))
4040import Data.Text (Text)
4141import qualified Data.Text as T
4242import Text.Pandoc.Class (PandocMonad)
@@ -44,7 +44,7 @@ import Text.Pandoc.Definition
4444import Text.Pandoc.Options
4545import Text.Pandoc.Shared (isTightList, linesToPara, substitute)
4646import Text.Pandoc.Templates (renderTemplate')
47−import Text.Pandoc.Walk (walkM, walk, query)
47+import Text.Pandoc.Walk (query, walk, walkM)
4848import Text.Pandoc.Writers.HTML (writeHtml5String)
4949import Text.Pandoc.Writers.Shared
5050
@@ -67,7 +67,7 @@ writeCommonMark opts (Pandoc meta blocks) = do
6767
6868softBreakToSpace :: Inline -> Inline
6969softBreakToSpace SoftBreak = Space
70−softBreakToSpace x = x
70+softBreakToSpace x = x
7171
7272processNotes :: Inline -> State [[Block]] Inline
7373processNotes (Note bs) = do
src/Text/Pandoc/Writers/ConTeXt.hs+25−25
@@ -1,4 +1,4 @@
1−{-# LANGUAGE OverloadedStrings #-}
1+{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE ScopedTypeVariables #-}
33{-
44Copyright (C) 2007-2017 John MacFarlane <jgm@berkeley.edu>
@@ -38,9 +38,9 @@ import Data.Text (Text)
3838import Network.URI (unEscapeString)
3939import Text.Pandoc.BCP47
4040import Text.Pandoc.Class (PandocMonad, report, toLang)
41−import Text.Pandoc.Logging
4241import Text.Pandoc.Definition
4342import Text.Pandoc.ImageSize
43+import Text.Pandoc.Logging
4444import Text.Pandoc.Options
4545import Text.Pandoc.Pretty
4646import Text.Pandoc.Shared
@@ -475,26 +475,26 @@ fromBCP47 mbs = fromBCP47' <$> toLang mbs
475475-- https://tools.ietf.org/html/bcp47#section-2.1
476476-- http://wiki.contextgarden.net/Language_Codes
477477fromBCP47' :: Maybe Lang -> Maybe String
478−fromBCP47' (Just (Lang "ar" _ "SY" _) ) = Just "ar-sy"
479−fromBCP47' (Just (Lang "ar" _ "IQ" _) ) = Just "ar-iq"
480−fromBCP47' (Just (Lang "ar" _ "JO" _) ) = Just "ar-jo"
481−fromBCP47' (Just (Lang "ar" _ "LB" _) ) = Just "ar-lb"
482−fromBCP47' (Just (Lang "ar" _ "DZ" _) ) = Just "ar-dz"
483−fromBCP47' (Just (Lang "ar" _ "MA" _) ) = Just "ar-ma"
484−fromBCP47' (Just (Lang "de" _ _ ["1901"]) ) = Just "deo"
485−fromBCP47' (Just (Lang "de" _ "DE" _) ) = Just "de-de"
486−fromBCP47' (Just (Lang "de" _ "AT" _) ) = Just "de-at"
487−fromBCP47' (Just (Lang "de" _ "CH" _) ) = Just "de-ch"
488−fromBCP47' (Just (Lang "el" _ _ ["poly"]) ) = Just "agr"
489−fromBCP47' (Just (Lang "en" _ "US" _) ) = Just "en-us"
490−fromBCP47' (Just (Lang "en" _ "GB" _) ) = Just "en-gb"
491−fromBCP47' (Just (Lang "grc"_ _ _) ) = Just "agr"
492−fromBCP47' (Just (Lang "el" _ _ _) ) = Just "gr"
493−fromBCP47' (Just (Lang "eu" _ _ _) ) = Just "ba"
494−fromBCP47' (Just (Lang "he" _ _ _) ) = Just "il"
495−fromBCP47' (Just (Lang "jp" _ _ _) ) = Just "ja"
496−fromBCP47' (Just (Lang "uk" _ _ _) ) = Just "ua"
497−fromBCP47' (Just (Lang "vi" _ _ _) ) = Just "vn"
498−fromBCP47' (Just (Lang "zh" _ _ _) ) = Just "cn"
499−fromBCP47' (Just (Lang l _ _ _) ) = Just l
500−fromBCP47' Nothing = Nothing
478+fromBCP47' (Just (Lang "ar" _ "SY" _) ) = Just "ar-sy"
479+fromBCP47' (Just (Lang "ar" _ "IQ" _) ) = Just "ar-iq"
480+fromBCP47' (Just (Lang "ar" _ "JO" _) ) = Just "ar-jo"
481+fromBCP47' (Just (Lang "ar" _ "LB" _) ) = Just "ar-lb"
482+fromBCP47' (Just (Lang "ar" _ "DZ" _) ) = Just "ar-dz"
483+fromBCP47' (Just (Lang "ar" _ "MA" _) ) = Just "ar-ma"
484+fromBCP47' (Just (Lang "de" _ _ ["1901"]) ) = Just "deo"
485+fromBCP47' (Just (Lang "de" _ "DE" _) ) = Just "de-de"
486+fromBCP47' (Just (Lang "de" _ "AT" _) ) = Just "de-at"
487+fromBCP47' (Just (Lang "de" _ "CH" _) ) = Just "de-ch"
488+fromBCP47' (Just (Lang "el" _ _ ["poly"]) ) = Just "agr"
489+fromBCP47' (Just (Lang "en" _ "US" _) ) = Just "en-us"
490+fromBCP47' (Just (Lang "en" _ "GB" _) ) = Just "en-gb"
491+fromBCP47' (Just (Lang "grc"_ _ _) ) = Just "agr"
492+fromBCP47' (Just (Lang "el" _ _ _) ) = Just "gr"
493+fromBCP47' (Just (Lang "eu" _ _ _) ) = Just "ba"
494+fromBCP47' (Just (Lang "he" _ _ _) ) = Just "il"
495+fromBCP47' (Just (Lang "jp" _ _ _) ) = Just "ja"
496+fromBCP47' (Just (Lang "uk" _ _ _) ) = Just "ua"
497+fromBCP47' (Just (Lang "vi" _ _ _) ) = Just "vn"
498+fromBCP47' (Just (Lang "zh" _ _ _) ) = Just "cn"
499+fromBCP47' (Just (Lang l _ _ _) ) = Just l
500+fromBCP47' Nothing = Nothing
src/Text/Pandoc/Writers/Custom.hs+3−3
@@ -43,12 +43,12 @@ import Data.List (intersperse)
4343import qualified Data.Map as M
4444import Data.Text (Text, pack)
4545import Data.Typeable
46−import GHC.IO.Encoding (getForeignEncoding, setForeignEncoding, utf8)
4746import Foreign.Lua (Lua, ToLuaStack (..), callFunc, runLua)
4847import Foreign.Lua.Api
49−import Text.Pandoc.Error
50−import Text.Pandoc.Lua.Util ( addValue )
48+import GHC.IO.Encoding (getForeignEncoding, setForeignEncoding, utf8)
5149import Text.Pandoc.Definition
50+import Text.Pandoc.Error
51+import Text.Pandoc.Lua.Util (addValue)
5252import Text.Pandoc.Options
5353import Text.Pandoc.Templates
5454import qualified Text.Pandoc.UTF8 as UTF8
src/Text/Pandoc/Writers/Docbook.hs+1−1
@@ -32,10 +32,10 @@ Conversion of 'Pandoc' documents to Docbook XML.
3232module Text.Pandoc.Writers.Docbook ( writeDocbook4, writeDocbook5 ) where
3333import Control.Monad.Reader
3434import Data.Char (toLower)
35−import Data.Text (Text)
3635import Data.Generics (everywhere, mkT)
3736import Data.List (intercalate, isPrefixOf, isSuffixOf, stripPrefix)
3837import Data.Monoid (Any (..))
38+import Data.Text (Text)
3939import qualified Text.Pandoc.Builder as B
4040import Text.Pandoc.Class (PandocMonad, report)
4141import Text.Pandoc.Definition
src/Text/Pandoc/Writers/Docx.hs+5−5
@@ -51,6 +51,7 @@ import qualified Data.Text as T
5151import Data.Time.Clock.POSIX
5252import Skylighting
5353import System.Random (randomR)
54+import Text.Pandoc.BCP47 (getLang, renderLang)
5455import Text.Pandoc.Class (PandocMonad, report, toLang)
5556import qualified Text.Pandoc.Class as P
5657import Text.Pandoc.Compat.Time
@@ -68,7 +69,6 @@ import qualified Text.Pandoc.UTF8 as UTF8
6869import Text.Pandoc.Walk
6970import Text.Pandoc.Writers.Math
7071import Text.Pandoc.Writers.Shared (fixDisplayMath)
71−import Text.Pandoc.BCP47 (getLang, renderLang)
7272import Text.Printf (printf)
7373import Text.TeXMath
7474import Text.XML.Light as XML
@@ -276,9 +276,9 @@ writeDocx opts doc@(Pandoc meta _) = do
276276 setval _ x = x
277277 setvalattr :: String -> XML.Attr -> XML.Attr
278278 setvalattr l (XML.Attr qn@(QName "val" _ _) _) = XML.Attr qn l
279− setvalattr _ x = x
279+ setvalattr _ x = x
280280 isLangElt (Elem e') = qName (elName e') == "lang"
281− isLangElt _ = False
281+ isLangElt _ = False
282282
283283 let stylepath = "word/styles.xml"
284284 styledoc <- addLang <$> parseXml refArchive distArchive stylepath
@@ -508,8 +508,8 @@ writeDocx opts doc@(Pandoc meta _) = do
508508 , qName (elName e) == "num" ] }
509509
510510 let keywords = case lookupMeta "keywords" meta of
511− Just (MetaList xs) -> map stringify xs
512− _ -> []
511+ Just (MetaList xs) -> map stringify xs
512+ _ -> []
513513
514514 let docPropsPath = "docProps/core.xml"
515515 let docProps = mknode "cp:coreProperties"
src/Text/Pandoc/Writers/DokuWiki.hs+2−2
@@ -46,9 +46,9 @@ import Data.Default (Default (..))
4646import Data.List (intercalate, intersect, isPrefixOf, transpose)
4747import Data.Text (Text, pack)
4848import Text.Pandoc.Class (PandocMonad, report)
49−import Text.Pandoc.Logging
5049import Text.Pandoc.Definition
5150import Text.Pandoc.ImageSize
51+import Text.Pandoc.Logging
5252import Text.Pandoc.Options (WrapOption (..), WriterOptions (writerTableOfContents, writerTemplate, writerWrapText))
5353import Text.Pandoc.Shared (camelCaseToHyphenated, escapeURI, isURI, linesToPara,
5454 removeFormatting, substitute, trimr)
@@ -291,7 +291,7 @@ listItemToDokuWiki opts items = do
291291 bs <- mapM (blockToDokuWiki opts) items
292292 let contents = case items of
293293 [_, CodeBlock _ _] -> concat bs
294− _ -> vcat bs
294+ _ -> vcat bs
295295 indent <- stIndent <$> ask
296296 backSlash <- stBackSlashLB <$> ask
297297 let indent' = if backSlash then (drop 2 indent) else indent
src/Text/Pandoc/Writers/EPUB.hs+8−8
@@ -34,19 +34,19 @@ Conversion of 'Pandoc' documents to EPUB.
3434module Text.Pandoc.Writers.EPUB ( writeEPUB2, writeEPUB3 ) where
3535import Codec.Archive.Zip (Entry, addEntryToArchive, eRelativePath, emptyArchive,
3636 fromArchive, fromEntry, toEntry)
37−import Control.Monad (mplus, when, unless, zipWithM)
37+import Control.Monad (mplus, unless, when, zipWithM)
3838import Control.Monad.Except (catchError, throwError)
39−import Control.Monad.State.Strict (State, StateT, evalState, evalStateT, get, gets,
40− lift, modify, put)
39+import Control.Monad.State.Strict (State, StateT, evalState, evalStateT, get,
40+ gets, lift, modify, put)
4141import qualified Data.ByteString.Lazy as B
4242import qualified Data.ByteString.Lazy.Char8 as B8
43−import qualified Data.Text.Lazy as TL
44−import qualified Data.Text as TS
45−import Data.Char (isAlphaNum, isDigit, toLower, isAscii)
43+import Data.Char (isAlphaNum, isAscii, isDigit, toLower)
4644import Data.List (intercalate, isInfixOf, isPrefixOf)
4745import qualified Data.Map as M
4846import Data.Maybe (catMaybes, fromMaybe)
4947import qualified Data.Set as Set
48+import qualified Data.Text as TS
49+import qualified Data.Text.Lazy as TL
5050import Network.HTTP (urlEncode)
5151import System.FilePath (takeExtension, takeFileName)
5252import Text.HTML.TagSoup (Tag (TagOpen), fromAttrib, parseTags)
@@ -71,7 +71,7 @@ import Text.Pandoc.Writers.HTML (writeHtmlStringForEPUB)
7171import Text.Printf (printf)
7272import Text.XML.Light (Attr (..), Element (..), Node (..), QName (..),
7373 add_attrs, lookupAttr, node, onlyElems, parseXML,
74− ppElement, strContent, unode, unqual, showElement)
74+ ppElement, showElement, strContent, unode, unqual)
7575
7676-- A Chapter includes a list of blocks and maybe a section
7777-- number offset. Note, some chapters are unnumbered. The section
@@ -709,7 +709,7 @@ pandocToEPUB version opts doc@(Pandoc meta _) = do
709709 Right x -> x
710710 -- can't have a element inside a...
711711 delink (Link _ ils _) = Span ("", [], []) ils
712− delink x = x
712+ delink x = x
713713
714714 let navtag = if epub3 then "nav" else "div"
715715 tocBlocks <- lift $ evalStateT (mapM (navPointNode navXhtmlFormatter) secs) 1
src/Text/Pandoc/Writers/FB2.hs+4−5
@@ -37,15 +37,15 @@ FictionBook is an XML-based e-book format. For more information see:
3737-}
3838module Text.Pandoc.Writers.FB2 (writeFB2) where
3939
40−import Control.Monad.Except (catchError)
41−import Control.Monad.State.Strict (StateT, evalStateT, get, lift, modify, liftM)
4240import Control.Monad (zipWithM)
41+import Control.Monad.Except (catchError)
42+import Control.Monad.State.Strict (StateT, evalStateT, get, lift, liftM, modify)
4343import Data.ByteString.Base64 (encode)
4444import qualified Data.ByteString.Char8 as B8
4545import Data.Char (isAscii, isControl, isSpace, toLower)
4646import Data.Either (lefts, rights)
47−import Data.Text (Text, pack)
4847import Data.List (intercalate, intersperse, isPrefixOf, stripPrefix)
48+import Data.Text (Text, pack)
4949import Network.HTTP (urlEncode)
5050import Text.XML.Light
5151import qualified Text.XML.Light as X
@@ -56,8 +56,7 @@ import qualified Text.Pandoc.Class as P
5656import Text.Pandoc.Definition
5757import Text.Pandoc.Logging
5858import Text.Pandoc.Options (HTMLMathMethod (..), WriterOptions (..), def)
59−import Text.Pandoc.Shared (capitalize, isHeaderBlock, isURI,
60− orderedListMarkers)
59+import Text.Pandoc.Shared (capitalize, isHeaderBlock, isURI, orderedListMarkers)
6160
6261-- | Data to be written at the end of the document:
6362-- (foot)notes, URLs, references, images.
src/Text/Pandoc/Writers/HTML.hs+8−8
@@ -45,13 +45,13 @@ module Text.Pandoc.Writers.HTML (
4545 ) where
4646import Control.Monad.State.Strict
4747import Data.Char (ord, toLower)
48−import Data.Text (Text)
49−import qualified Data.Text.Lazy as TL
50−import Data.List (intersperse, isPrefixOf, partition, intercalate)
48+import Data.List (intercalate, intersperse, isPrefixOf, partition)
5149import Data.Maybe (catMaybes, fromMaybe, isJust, isNothing)
5250import Data.Monoid ((<>))
5351import qualified Data.Set as Set
5452import Data.String (fromString)
53+import Data.Text (Text)
54+import qualified Data.Text.Lazy as TL
5555import Network.HTTP (urlEncode)
5656import Network.URI (URI (..), parseURIReference, unEscapeString)
5757import Numeric (showHex)
@@ -79,7 +79,7 @@ import qualified Text.Blaze.Html5 as H5
7979#endif
8080import Control.Monad.Except (throwError)
8181import Data.Aeson (Value)
82−import System.FilePath (takeExtension, takeBaseName)
82+import System.FilePath (takeBaseName, takeExtension)
8383import Text.Blaze.Html.Renderer.Text (renderHtml)
8484import qualified Text.Blaze.XHtml1.Transitional as H
8585import qualified Text.Blaze.XHtml1.Transitional.Attributes as A
@@ -582,14 +582,14 @@ dimensionsToAttrList attr = consolidateStyles $ go Width ++ go Height
582582 consolidateStyles :: [(String, String)] -> [(String, String)]
583583 consolidateStyles xs =
584584 case partition isStyle xs of
585− ([], _) -> xs
585+ ([], _) -> xs
586586 (ss, rest) -> ("style", intercalate ";" $ map snd ss) : rest
587587 isStyle ("style", _) = True
588588 isStyle _ = False
589589 go dir = case (dimension dir attr) of
590− (Just (Pixel a)) -> [(show dir, show a)]
591− (Just x) -> [("style", show dir ++ ":" ++ show x)]
592− Nothing -> []
590+ (Just (Pixel a)) -> [(show dir, show a)]
591+ (Just x) -> [("style", show dir ++ ":" ++ show x)]
592+ Nothing -> []
593593
594594imageExts :: [String]
595595imageExts = [ "art", "bmp", "cdr", "cdt", "cpt", "cr2", "crw", "djvu", "erf",
src/Text/Pandoc/Writers/Haddock.hs+1−1
@@ -35,8 +35,8 @@ Haddock: <http://www.haskell.org/haddock/doc/html/>
3535module Text.Pandoc.Writers.Haddock (writeHaddock) where
3636import Control.Monad.State.Strict
3737import Data.Default
38−import Data.Text (Text)
3938import Data.List (intersperse, transpose)
39+import Data.Text (Text)
4040import Text.Pandoc.Class (PandocMonad, report)
4141import Text.Pandoc.Definition
4242import Text.Pandoc.Logging
src/Text/Pandoc/Writers/JATS.hs+3−3
@@ -33,15 +33,16 @@ https://jats.nlm.nih.gov/publishing/tag-library/1.1d3/element/mml-math.html
3333module Text.Pandoc.Writers.JATS ( writeJATS ) where
3434import Control.Monad.Reader
3535import Data.Char (toLower)
36−import Data.Text (Text)
3736import Data.Generics (everywhere, mkT)
3837import Data.List (intercalate, isSuffixOf, partition)
3938import Data.Maybe (fromMaybe)
39+import Data.Text (Text)
4040import qualified Text.Pandoc.Builder as B
4141import Text.Pandoc.Class (PandocMonad, report)
4242import Text.Pandoc.Definition
4343import Text.Pandoc.Highlighting (languages, languagesByExtension)
4444import Text.Pandoc.Logging
45+import Text.Pandoc.MIME (getMimeType)
4546import Text.Pandoc.Options
4647import Text.Pandoc.Pretty
4748import Text.Pandoc.Shared
@@ -49,7 +50,6 @@ import Text.Pandoc.Templates (renderTemplate')
4950import Text.Pandoc.Writers.Math
5051import Text.Pandoc.Writers.Shared
5152import Text.Pandoc.XML
52−import Text.Pandoc.MIME (getMimeType)
5353import Text.TeXMath
5454import qualified Text.XML.Light as Xml
5555
@@ -90,7 +90,7 @@ writeJATS opts d =
9090docToJATS :: PandocMonad m => WriterOptions -> Pandoc -> DB m Text
9191docToJATS opts (Pandoc meta blocks) = do
9292 let isBackBlock (Div ("refs",_,_) _) = True
93− isBackBlock _ = False
93+ isBackBlock _ = False
9494 let (backblocks, bodyblocks) = partition isBackBlock blocks
9595 let elements = hierarchicalize bodyblocks
9696 let backElements = hierarchicalize backblocks
src/Text/Pandoc/Writers/LaTeX.hs+2−2
@@ -45,7 +45,7 @@ import Data.Maybe (catMaybes, fromMaybe, isJust)
4545import Data.Text (Text)
4646import qualified Data.Text as T
4747import Network.URI (unEscapeString)
48−import Text.Pandoc.BCP47 (Lang(..), getLang, renderLang)
48+import Text.Pandoc.BCP47 (Lang (..), getLang, renderLang)
4949import Text.Pandoc.Class (PandocMonad, report, toLang)
5050import Text.Pandoc.Definition
5151import Text.Pandoc.Highlighting (formatLaTeXBlock, formatLaTeXInline, highlight,
@@ -1001,7 +1001,7 @@ inlineToLaTeX (Code (_,classes,_) str) = do
10011001 inItem <- gets stInItem
10021002 let listingsCode = do
10031003 let listingsopt = case getListingsLanguage classes of
1004− Just l -> "[language=" ++ mbBraced l ++ "]"
1004+ Just l -> "[language=" ++ mbBraced l ++ "]"
10051005 Nothing -> ""
10061006 inNote <- gets stInNote
10071007 when inNote $ modify $ \s -> s{ stVerbInNote = True }
src/Text/Pandoc/Writers/Man.hs+1−1
@@ -31,7 +31,7 @@ Conversion of 'Pandoc' documents to groff man page format.
3131-}
3232module Text.Pandoc.Writers.Man ( writeMan) where
3333import Control.Monad.State.Strict
34−import Data.List (intercalate, intersperse, stripPrefix, sort)
34+import Data.List (intercalate, intersperse, sort, stripPrefix)
3535import qualified Data.Map as Map
3636import Data.Maybe (fromMaybe)
3737import Data.Text (Text)
src/Text/Pandoc/Writers/Markdown.hs+3−3
@@ -39,8 +39,8 @@ import Control.Monad.State.Strict
3939import Data.Char (chr, isPunctuation, isSpace, ord)
4040import Data.Default
4141import qualified Data.HashMap.Strict as H
42−import qualified Data.Map as M
4342import Data.List (find, group, intersperse, sortBy, stripPrefix, transpose)
43+import qualified Data.Map as M
4444import Data.Maybe (fromMaybe)
4545import Data.Monoid (Any (..))
4646import Data.Ord (comparing)
@@ -994,7 +994,7 @@ inlineToMarkdown opts (Superscript lst) =
994994 else
995995 let rendered = render Nothing contents
996996 in case mapM toSuperscript rendered of
997− Just r -> text r
997+ Just r -> text r
998998 Nothing -> text $ "^(" ++ rendered ++ ")"
999999inlineToMarkdown _ (Subscript []) = return empty
10001000inlineToMarkdown opts (Subscript lst) =
@@ -1007,7 +1007,7 @@ inlineToMarkdown opts (Subscript lst) =
10071007 else
10081008 let rendered = render Nothing contents
10091009 in case mapM toSubscript rendered of
1010− Just r -> text r
1010+ Just r -> text r
10111011 Nothing -> text $ "_(" ++ rendered ++ ")"
10121012inlineToMarkdown opts (SmallCaps lst) = do
10131013 plain <- asks envPlain
src/Text/Pandoc/Writers/MediaWiki.hs+1−1
@@ -36,9 +36,9 @@ import Data.List (intercalate)
3636import qualified Data.Set as Set
3737import Data.Text (Text, pack)
3838import Text.Pandoc.Class (PandocMonad, report)
39−import Text.Pandoc.Logging
4039import Text.Pandoc.Definition
4140import Text.Pandoc.ImageSize
41+import Text.Pandoc.Logging
4242import Text.Pandoc.Options
4343import Text.Pandoc.Pretty (render)
4444import Text.Pandoc.Shared
src/Text/Pandoc/Writers/Ms.hs+25−25
@@ -36,29 +36,29 @@ TODO:
3636-}
3737
3838module Text.Pandoc.Writers.Ms ( writeMs ) where
39−import Text.Pandoc.Definition
40−import Text.Pandoc.Templates
41−import Text.Pandoc.Shared
42−import Text.Pandoc.Writers.Shared
43−import Text.Pandoc.Options
44−import Text.Pandoc.Writers.Math
45−import Text.Printf ( printf )
46−import qualified Data.Text as T
47−import Data.Text (Text)
39+import Control.Monad.State.Strict
40+import Data.Char (isLower, isUpper, toUpper)
41+import Data.List (intercalate, intersperse, sort)
4842import qualified Data.Map as Map
49−import Data.Maybe ( catMaybes, fromMaybe )
50−import Data.List ( intersperse, intercalate, sort )
51−import Text.Pandoc.Pretty
43+import Data.Maybe (catMaybes, fromMaybe)
44+import Data.Text (Text)
45+import qualified Data.Text as T
46+import Network.URI (escapeURIString, isAllowedInURI)
47+import Skylighting
48+import System.FilePath (takeExtension)
5249import Text.Pandoc.Class (PandocMonad, report)
50+import Text.Pandoc.Definition
51+import Text.Pandoc.Highlighting
5352import Text.Pandoc.ImageSize
5453import Text.Pandoc.Logging
55−import Control.Monad.State.Strict
56−import Data.Char ( isLower, isUpper, toUpper )
54+import Text.Pandoc.Options
55+import Text.Pandoc.Pretty
56+import Text.Pandoc.Shared
57+import Text.Pandoc.Templates
58+import Text.Pandoc.Writers.Math
59+import Text.Pandoc.Writers.Shared
60+import Text.Printf (printf)
5761import Text.TeXMath (writeEqn)
58−import System.FilePath (takeExtension)
59−import Skylighting
60−import Text.Pandoc.Highlighting
61−import Network.URI (escapeURIString, isAllowedInURI)
6262
6363data WriterState = WriterState { stHasInlineMath :: Bool
6464 , stFirstPara :: Bool
@@ -147,7 +147,7 @@ msEscapes = Map.fromList $
147147
148148escapeChar :: Char -> String
149149escapeChar c = case Map.lookup c msEscapes of
150− Just s -> s
150+ Just s -> s
151151 Nothing -> [c]
152152
153153-- | Escape | character, used to mark inline math, inside math.
@@ -176,13 +176,13 @@ toSmallCaps (c:cs)
176176-- | Escape a literal (code) section for Ms.
177177escapeCode :: String -> String
178178escapeCode = concat . intersperse "\n" . map escapeLine . lines
179− where escapeCodeChar ' ' = "\\ "
179+ where escapeCodeChar ' ' = "\\ "
180180 escapeCodeChar '\t' = "\\\t"
181− escapeCodeChar c = escapeChar c
181+ escapeCodeChar c = escapeChar c
182182 escapeLine codeline =
183183 case concatMap escapeCodeChar codeline of
184184 a@('.':_) -> "\\&" ++ a
185− b -> b
185+ b -> b
186186
187187-- We split inline lists into sentences, and print one sentence per
188188-- line. groff/troff treats the line-ending period differently.
@@ -194,8 +194,8 @@ breakSentence [] = ([],[])
194194breakSentence xs =
195195 let isSentenceEndInline (Str ys@(_:_)) | last ys == '.' = True
196196 isSentenceEndInline (Str ys@(_:_)) | last ys == '?' = True
197− isSentenceEndInline (LineBreak) = True
198− isSentenceEndInline _ = False
197+ isSentenceEndInline (LineBreak) = True
198+ isSentenceEndInline _ = False
199199 (as, bs) = break isSentenceEndInline xs
200200 in case bs of
201201 [] -> (as, [])
@@ -548,7 +548,7 @@ handleNote opts bs = do
548548 -- line after the note ref:
549549 let bs' = case bs of
550550 (Para ils : rest) -> Plain ils : rest
551− _ -> bs
551+ _ -> bs
552552 contents <- blockListToMs opts bs'
553553 return $ cr <> text ".FS" $$ contents $$ text ".FE" <> cr
554554
src/Text/Pandoc/Writers/Native.hs+1−1
@@ -30,8 +30,8 @@ Conversion of a 'Pandoc' document to a string representation.
3030-}
3131module Text.Pandoc.Writers.Native ( writeNative )
3232where
33−import Data.Text (Text)
3433import Data.List (intersperse)
34+import Data.Text (Text)
3535import Text.Pandoc.Class (PandocMonad)
3636import Text.Pandoc.Definition
3737import Text.Pandoc.Options (WrapOption (..), WriterOptions (..))
src/Text/Pandoc/Writers/ODT.hs+1−1
@@ -38,6 +38,7 @@ import Data.List (isPrefixOf)
3838import Data.Maybe (fromMaybe)
3939import qualified Data.Text.Lazy as TL
4040import System.FilePath (takeDirectory, takeExtension, (<.>))
41+import Text.Pandoc.BCP47 (Lang (..), getLang, renderLang)
4142import Text.Pandoc.Class (PandocMonad, report, toLang)
4243import qualified Text.Pandoc.Class as P
4344import Text.Pandoc.Definition
@@ -51,7 +52,6 @@ import Text.Pandoc.UTF8 (fromStringLazy, fromTextLazy, toStringLazy)
5152import Text.Pandoc.Walk
5253import Text.Pandoc.Writers.OpenDocument (writeOpenDocument)
5354import Text.Pandoc.Writers.Shared (fixDisplayMath)
54−import Text.Pandoc.BCP47 (getLang, Lang(..), renderLang)
5555import Text.Pandoc.XML
5656import Text.TeXMath
5757import Text.XML.Light
src/Text/Pandoc/Writers/OpenDocument.hs+2−2
@@ -36,10 +36,11 @@ import Control.Arrow ((***), (>>>))
3636import Control.Monad.State.Strict hiding (when)
3737import Data.Char (chr)
3838import Data.List (sortBy)
39−import Data.Text (Text)
4039import qualified Data.Map as Map
4140import Data.Ord (comparing)
4241import qualified Data.Set as Set
42+import Data.Text (Text)
43+import Text.Pandoc.BCP47 (Lang (..), parseBCP47)
4344import Text.Pandoc.Class (PandocMonad, report)
4445import Text.Pandoc.Definition
4546import Text.Pandoc.Logging
@@ -50,7 +51,6 @@ import Text.Pandoc.Templates (renderTemplate')
5051import Text.Pandoc.Writers.Math
5152import Text.Pandoc.Writers.Shared
5253import Text.Pandoc.XML
53−import Text.Pandoc.BCP47 (parseBCP47, Lang(..))
5454import Text.Printf (printf)
5555
5656-- | Auxiliary function to convert Plain block to Para.
src/Text/Pandoc/Writers/Org.hs+2−2
@@ -37,14 +37,14 @@ Org-Mode: <http://orgmode.org>
3737module Text.Pandoc.Writers.Org (writeOrg) where
3838import Control.Monad.State.Strict
3939import Data.Char (isAlphaNum, toLower)
40−import Data.Text (Text)
4140import Data.List (intersect, intersperse, isPrefixOf, partition, transpose)
41+import Data.Text (Text)
4242import Text.Pandoc.Class (PandocMonad, report)
4343import Text.Pandoc.Definition
44+import Text.Pandoc.Logging
4445import Text.Pandoc.Options
4546import Text.Pandoc.Pretty
4647import Text.Pandoc.Shared
47−import Text.Pandoc.Logging
4848import Text.Pandoc.Templates (renderTemplate')
4949import Text.Pandoc.Writers.Shared
5050
src/Text/Pandoc/Writers/RST.hs+7−7
@@ -38,9 +38,9 @@ import Data.Maybe (fromMaybe)
3838import Data.Text (Text, stripEnd)
3939import qualified Text.Pandoc.Builder as B
4040import Text.Pandoc.Class (PandocMonad, report)
41−import Text.Pandoc.Logging
4241import Text.Pandoc.Definition
4342import Text.Pandoc.ImageSize
43+import Text.Pandoc.Logging
4444import Text.Pandoc.Options
4545import Text.Pandoc.Pretty
4646import Text.Pandoc.Shared
@@ -371,12 +371,12 @@ blockToRST' x = do
371371 modify (\s -> s{stLastNested =
372372 case x of
373373 Para [Image _ _ (_,'f':'i':'g':':':_)] -> True
374− Para{} -> False
375− Plain{} -> False
376− Header{} -> False
377− LineBlock{} -> False
378− HorizontalRule -> False
379− _ -> True
374+ Para{} -> False
375+ Plain{} -> False
376+ Header{} -> False
377+ LineBlock{} -> False
378+ HorizontalRule -> False
379+ _ -> True
380380 })
381381 blockToRST x
382382
src/Text/Pandoc/Writers/RTF.hs+1−1
@@ -34,9 +34,9 @@ import Control.Monad.Except (catchError, throwError)
3434import qualified Data.ByteString as B
3535import Data.Char (chr, isDigit, ord)
3636import Data.List (intercalate, isSuffixOf)
37+import qualified Data.Map as M
3738import Data.Text (Text)
3839import qualified Data.Text as T
39−import qualified Data.Map as M
4040import Text.Pandoc.Class (PandocMonad, report)
4141import qualified Text.Pandoc.Class as P
4242import Text.Pandoc.Definition
src/Text/Pandoc/Writers/TEI.hs+2−2
@@ -31,14 +31,14 @@ Conversion of 'Pandoc' documents to Docbook XML.
3131-}
3232module Text.Pandoc.Writers.TEI (writeTEI) where
3333import Data.Char (toLower)
34−import Data.Text (Text)
3534import Data.List (isPrefixOf, stripPrefix)
35+import Data.Text (Text)
3636import qualified Text.Pandoc.Builder as B
3737import Text.Pandoc.Class (PandocMonad, report)
38−import Text.Pandoc.Logging
3938import Text.Pandoc.Definition
4039import Text.Pandoc.Highlighting (languages, languagesByExtension)
4140import Text.Pandoc.ImageSize
41+import Text.Pandoc.Logging
4242import Text.Pandoc.Options
4343import Text.Pandoc.Pretty
4444import Text.Pandoc.Shared
src/Text/Pandoc/Writers/Textile.hs+1−1
@@ -35,9 +35,9 @@ import Data.Char (isSpace)
3535import Data.List (intercalate)
3636import Data.Text (Text, pack)
3737import Text.Pandoc.Class (PandocMonad, report)
38−import Text.Pandoc.Logging
3938import Text.Pandoc.Definition
4039import Text.Pandoc.ImageSize
40+import Text.Pandoc.Logging
4141import Text.Pandoc.Options
4242import Text.Pandoc.Pretty (render)
4343import Text.Pandoc.Shared
src/Text/Pandoc/Writers/ZimWiki.hs+3−3
@@ -37,13 +37,13 @@ import Control.Monad.State.Strict (StateT, evalStateT, gets, modify)
3737import Data.Default (Default (..))
3838import Data.List (intercalate, isInfixOf, isPrefixOf, transpose)
3939import qualified Data.Map as Map
40−import Data.Text (breakOnAll, pack, Text)
40+import Data.Text (Text, breakOnAll, pack)
4141import Text.Pandoc.Class (PandocMonad, report)
42−import Text.Pandoc.Logging
4342import Text.Pandoc.Definition
4443import Text.Pandoc.ImageSize
44+import Text.Pandoc.Logging
4545import Text.Pandoc.Options (WrapOption (..), WriterOptions (writerTableOfContents, writerTemplate, writerWrapText))
46−import Text.Pandoc.Shared (isURI, escapeURI, linesToPara, removeFormatting,
46+import Text.Pandoc.Shared (escapeURI, isURI, linesToPara, removeFormatting,
4747 substitute, trimr)
4848import Text.Pandoc.Templates (renderTemplate')
4949import Text.Pandoc.Writers.Shared (defField, metaToJSON)
test/Tests/Command.hs+3−3
@@ -2,20 +2,20 @@ module Tests.Command (findPandoc, runTest, tests)
22where
33
44import Data.Algorithm.Diff
5+import qualified Data.ByteString as BS
56import Data.List (isSuffixOf)
67import Prelude hiding (readFile)
78import System.Directory
89import System.Exit
910import System.FilePath (joinPath, splitDirectories, takeDirectory, (</>))
11+import System.IO (hPutStr, stderr)
12+import System.IO.Unsafe (unsafePerformIO)
1013import System.Process
11−import System.IO (stderr, hPutStr)
1214import Test.Tasty
1315import Test.Tasty.HUnit
1416import Tests.Helpers
1517import Text.Pandoc
16−import qualified Data.ByteString as BS
1718import qualified Text.Pandoc.UTF8 as UTF8
18−import System.IO.Unsafe (unsafePerformIO) -- TODO temporary
1919
2020-- | Run a test with normalize function, return True if test passed.
2121runTest :: String -- ^ Title of test
test/Tests/Lua.hs+8−8
@@ -1,15 +1,15 @@
1−{-# Language OverloadedStrings #-}
1+{-# LANGUAGE OverloadedStrings #-}
22module Tests.Lua ( tests ) where
33
44import Control.Monad (when)
55import System.FilePath ((</>))
66import Test.Tasty (TestTree, localOption)
77import Test.Tasty.HUnit (Assertion, assertEqual, testCase)
8−import Test.Tasty.QuickCheck (ioProperty, testProperty, QuickCheckTests(..))
8+import Test.Tasty.QuickCheck (QuickCheckTests (..), ioProperty, testProperty)
99import Text.Pandoc.Arbitrary ()
10−import Text.Pandoc.Builder ( (<>), bulletList, doc, doubleQuoted, emph
11− , linebreak, rawBlock, singleQuoted, para, plain
12− , space, str, strong)
10+import Text.Pandoc.Builder (bulletList, doc, doubleQuoted, emph, linebreak,
11+ para, plain, rawBlock, singleQuoted, space, str,
12+ strong, (<>))
1313import Text.Pandoc.Class (runIOorExplode)
1414import Text.Pandoc.Definition (Block, Inline, Meta, Pandoc)
1515import Text.Pandoc.Lua
@@ -84,7 +84,7 @@ assertFilterConversion msg filterPath docIn docExpected = do
8484 docEither <- runIOorExplode $
8585 runLuaFilter (Just "../data") ("lua" </> filterPath) [] docIn
8686 case docEither of
87− Left _ -> fail "lua filter failed"
87+ Left _ -> fail "lua filter failed"
8888 Right docRes -> assertEqual msg docExpected docRes
8989
9090roundtripEqual :: (Eq a, FromLuaStack a, ToLuaStack a) => a -> IO Bool
@@ -102,5 +102,5 @@ roundtripEqual x = (x ==) <$> roundtripped
102102 error ("not exactly one additional element on the stack: " ++ show size)
103103 res <- peekEither (-1)
104104 case res of
105− Left _ -> error "could not read from stack"
106− Right y -> return y
105+ Left _ -> error "could not read from stack"
106+ Right y -> return y
test/Tests/Readers/Docx.hs+4−4
@@ -1,18 +1,18 @@
11module Tests.Readers.Docx (tests) where
22
33import Codec.Archive.Zip
4−import qualified Data.ByteString.Lazy as B
54import qualified Data.ByteString as BS
6−import qualified Data.Text as T
5+import qualified Data.ByteString.Lazy as B
76import qualified Data.Map as M
7+import qualified Data.Text as T
8+import System.IO.Unsafe
89import Test.Tasty
910import Test.Tasty.HUnit
1011import Tests.Helpers
1112import Text.Pandoc
12−import Text.Pandoc.UTF8 as UTF8
1313import qualified Text.Pandoc.Class as P
1414import Text.Pandoc.MediaBag (MediaBag, lookupMedia, mediaDirectory)
15−import System.IO.Unsafe -- TODO temporary
15+import Text.Pandoc.UTF8 as UTF8
1616
1717-- We define a wrapper around pandoc that doesn't normalize in the
1818-- tests. Since we do our own normalization, we want to make sure
test/Tests/Readers/HTML.hs+1−1
@@ -1,12 +1,12 @@
11{-# LANGUAGE OverloadedStrings #-}
22module Tests.Readers.HTML (tests) where
33
4+import Data.Text (Text)
45import Test.Tasty
56import Tests.Helpers
67import Text.Pandoc
78import Text.Pandoc.Arbitrary ()
89import Text.Pandoc.Builder
9−import Data.Text (Text)
1010
1111html :: Text -> Pandoc
1212html = purely $ readHtml def
test/Tests/Readers/LaTeX.hs+2−2
@@ -1,13 +1,13 @@
11{-# LANGUAGE OverloadedStrings #-}
22module Tests.Readers.LaTeX (tests) where
33
4+import Data.Text (Text)
5+import qualified Data.Text as T
46import Test.Tasty
57import Tests.Helpers
68import Text.Pandoc
79import Text.Pandoc.Arbitrary ()
810import Text.Pandoc.Builder
9−import Data.Text (Text)
10−import qualified Data.Text as T
1111
1212latex :: Text -> Pandoc
1313latex = purely $ readLaTeX def{
test/Tests/Readers/Odt.hs+3−3
@@ -1,15 +1,15 @@
11module Tests.Readers.Odt (tests) where
22
33import Control.Monad (liftM)
4−import qualified Data.ByteString.Lazy as B
54import qualified Data.ByteString as BS
6−import qualified Text.Pandoc.UTF8 as UTF8
5+import qualified Data.ByteString.Lazy as B
76import qualified Data.Map as M
87import Data.Text (unpack)
8+import System.IO.Unsafe (unsafePerformIO)
99import Test.Tasty
1010import Tests.Helpers
1111import Text.Pandoc
12−import System.IO.Unsafe (unsafePerformIO) -- TODO temporary
12+import qualified Text.Pandoc.UTF8 as UTF8
1313
1414defopts :: ReaderOptions
1515defopts = def{ readerExtensions = getDefaultExtensions "odt" }
test/Tests/Shared.hs+1−1
@@ -2,7 +2,7 @@ module Tests.Shared (tests) where
22
33import System.FilePath.Posix (joinPath)
44import Test.Tasty
5−import Test.Tasty.HUnit (assertBool, (@?=), testCase)
5+import Test.Tasty.HUnit (assertBool, testCase, (@?=))
66import Text.Pandoc.Arbitrary ()
77import Text.Pandoc.Builder
88import Text.Pandoc.Shared
test/Tests/Writers/Docx.hs+5−5
@@ -1,18 +1,18 @@
11module Tests.Writers.Docx (tests) where
22
3+import qualified Data.ByteString as BS
34import System.FilePath ((</>))
5+import System.IO.Unsafe (unsafePerformIO)
46import Test.Tasty
57import Tests.Helpers
68import Text.Pandoc.Class (runIOorExplode, setUserDataDir)
79import Text.Pandoc.Definition
810import Text.Pandoc.Options
9−import Text.Pandoc.Walk
1011import Text.Pandoc.Readers.Docx
1112import Text.Pandoc.Readers.Native
12−import Text.Pandoc.Writers.Docx
13−import System.IO.Unsafe (unsafePerformIO) -- TODO temporary
14−import qualified Data.ByteString as BS
1513import qualified Text.Pandoc.UTF8 as UTF8
14+import Text.Pandoc.Walk
15+import Text.Pandoc.Writers.Docx
1616
1717type Options = (WriterOptions, ReaderOptions)
1818
@@ -35,7 +35,7 @@ compareOutput (wopts, ropts) nativeFileIn nativeFileOut = do
3535-- different ghc versions...
3636fixImages :: Inline -> Inline
3737fixImages (Image attr alt (_,tit)) = Image attr alt ("image",tit)
38−fixImages x = x
38+fixImages x = x
3939
4040testCompareWithOptsIO :: Options -> String -> FilePath -> FilePath -> IO TestTree
4141testCompareWithOptsIO opts name nativeFileIn nativeFileOut = do
test/Tests/Writers/Muse.hs+1−1
@@ -4,7 +4,7 @@ import Data.Text (unpack)
44import Test.Tasty
55import Tests.Helpers
66import Text.Pandoc
7−import Text.Pandoc.Arbitrary()
7+import Text.Pandoc.Arbitrary ()
88import Text.Pandoc.Builder
99
1010muse :: (ToPandoc a) => a -> String
test/test-pandoc.hs+3−3
@@ -7,17 +7,17 @@ import Test.Tasty
77import qualified Tests.Command
88import qualified Tests.Lua
99import qualified Tests.Old
10+import qualified Tests.Readers.Creole
1011import qualified Tests.Readers.Docx
1112import qualified Tests.Readers.EPUB
1213import qualified Tests.Readers.HTML
1314import qualified Tests.Readers.LaTeX
1415import qualified Tests.Readers.Markdown
16+import qualified Tests.Readers.Muse
1517import qualified Tests.Readers.Odt
1618import qualified Tests.Readers.Org
1719import qualified Tests.Readers.RST
1820import qualified Tests.Readers.Txt2Tags
19−import qualified Tests.Readers.Muse
20−import qualified Tests.Readers.Creole
2121import qualified Tests.Shared
2222import qualified Tests.Writers.AsciiDoc
2323import qualified Tests.Writers.ConTeXt
@@ -26,12 +26,12 @@ import qualified Tests.Writers.Docx
2626import qualified Tests.Writers.HTML
2727import qualified Tests.Writers.LaTeX
2828import qualified Tests.Writers.Markdown
29+import qualified Tests.Writers.Muse
2930import qualified Tests.Writers.Native
3031import qualified Tests.Writers.Org
3132import qualified Tests.Writers.Plain
3233import qualified Tests.Writers.RST
3334import qualified Tests.Writers.TEI
34−import qualified Tests.Writers.Muse
3535import Text.Pandoc.Shared (inDirectory)
3636
3737tests :: TestTree