aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r--src/Text/Pandoc/Readers/AsciiDoc.hs6
-rw-r--r--src/Text/Pandoc/Readers/Djot.hs3
-rw-r--r--src/Text/Pandoc/Readers/Docx.hs7
-rw-r--r--src/Text/Pandoc/Readers/HTML.hs8
-rw-r--r--src/Text/Pandoc/Readers/HTML/Table.hs6
-rw-r--r--src/Text/Pandoc/Readers/JATS.hs8
-rw-r--r--src/Text/Pandoc/Readers/LaTeX/Math.hs4
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs7
-rw-r--r--src/Text/Pandoc/Readers/ODT/Arrows/State.hs1
-rw-r--r--src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs4
-rw-r--r--src/Text/Pandoc/Readers/ODT/StyleReader.hs6
-rw-r--r--src/Text/Pandoc/Readers/Org/Blocks.hs8
-rw-r--r--src/Text/Pandoc/Readers/RIS.hs4
-rw-r--r--src/Text/Pandoc/Readers/RTF.hs10
-rw-r--r--src/Text/Pandoc/Readers/Textile.hs5
15 files changed, 44 insertions, 43 deletions
diff --git a/src/Text/Pandoc/Readers/AsciiDoc.hs b/src/Text/Pandoc/Readers/AsciiDoc.hs
index 391c38b30..965e47fa1 100644
--- a/src/Text/Pandoc/Readers/AsciiDoc.hs
+++ b/src/Text/Pandoc/Readers/AsciiDoc.hs
@@ -37,7 +37,7 @@ import Text.Pandoc.Parsing (newPos, sourceName)
import Text.Pandoc.Logging
import Text.Pandoc.Sources
import Control.Monad.State
-import Data.List (intersperse, foldl')
+import qualified Data.List as L
import Data.Char (chr, ord)
import qualified Data.Text as T
import qualified Data.Map as M
@@ -148,7 +148,7 @@ doMeta meta = do
B.setMeta "version" vers .
maybe id (B.setMeta "date") mbdate .
maybe id (B.setMeta "remark") mbremark) .
- flip (foldl' (\m (k,v) ->
+ flip (L.foldl' (\m (k,v) ->
-- leave out flags that are set just for processing
if k == "sectids" || k == "stem"
then m
@@ -363,7 +363,7 @@ doInline (A.Inline (A.Attr _ps kvs') it) = do
(B.str ("[" <> t <> "]"))
A.Button t -> pure $ B.spanWith ("",["button"],[])
(B.strong $ B.str ("[" <> t <> "]"))
- A.Kbd ts -> pure $ mconcat $ intersperse (B.str "+") $
+ A.Kbd ts -> pure $ mconcat $ L.intersperse (B.str "+") $
map (B.spanWith ("",["kbd"],[]) . B.strong . B.str) ts
A.Menu ts -> pure $ B.spanWith ("",["menu"],[]) $
B.strong $ B.text $ T.intercalate " › " ts
diff --git a/src/Text/Pandoc/Readers/Djot.hs b/src/Text/Pandoc/Readers/Djot.hs
index ecfe3e2c1..471d6a0c9 100644
--- a/src/Text/Pandoc/Readers/Djot.hs
+++ b/src/Text/Pandoc/Readers/Djot.hs
@@ -37,7 +37,6 @@ import Text.Pandoc.Logging
import Text.Pandoc.Emoji (emojiToInline)
import Control.Monad.Reader
import qualified Data.Foldable as F
-import Data.List (foldl')
import Data.ByteString (ByteString)
-- import Debug.Trace
@@ -141,7 +140,7 @@ convertBlock (D.Node pos attr bl) = addAttrToBlock pos attr <$>
(hs,bs):rs -> (hs,row:bs):rs
[] -> [([],[row])]
let reverseSnd (as,bs) = (as,reverse bs)
- let bodies = reverse $ map reverseSnd $ foldl' getBody [] rest
+ let bodies = reverse $ map reverseSnd $ F.foldl' getBody [] rest
let toCell (D.Cell _ al ils) =
Cell nullAttr (toAlign al) (RowSpan 1) (ColSpan 1)
. (\is -> [Para $ toList is]) <$> convertInlines ils
diff --git a/src/Text/Pandoc/Readers/Docx.hs b/src/Text/Pandoc/Readers/Docx.hs
index 8f70fe7a6..8ec14c040 100644
--- a/src/Text/Pandoc/Readers/Docx.hs
+++ b/src/Text/Pandoc/Readers/Docx.hs
@@ -74,7 +74,8 @@ import Control.Monad.State.Strict
import Data.Bifunctor (bimap, first)
import qualified Data.ByteString.Lazy as B
import Data.Default (Default)
-import Data.List (delete, intersect, foldl')
+import Data.List (delete, intersect)
+import qualified Data.List as L
import Data.Char (isSpace)
import qualified Data.Map as M
import qualified Data.Text as T
@@ -625,8 +626,8 @@ rowsToRows rows = do
splitHeaderRows :: Bool -> [Docx.Row] -> ([Docx.Row], [Docx.Row])
splitHeaderRows hasFirstRowFormatting rs = bimap reverse reverse $ fst
$ if hasFirstRowFormatting
- then foldl' f ((take 1 rs, []), True) (drop 1 rs)
- else foldl' f (([], []), False) rs
+ then L.foldl' f ((take 1 rs, []), True) (drop 1 rs)
+ else L.foldl' f (([], []), False) rs
where
f ((headerRows, bodyRows), previousRowWasHeader) r@(Docx.Row h cs)
| h == HasTblHeader || (previousRowWasHeader && any isContinuationCell cs)
diff --git a/src/Text/Pandoc/Readers/HTML.hs b/src/Text/Pandoc/Readers/HTML.hs
index 23019e651..9178ab848 100644
--- a/src/Text/Pandoc/Readers/HTML.hs
+++ b/src/Text/Pandoc/Readers/HTML.hs
@@ -33,7 +33,7 @@ import Data.Char (isAlphaNum, isLetter)
import Data.Default (Default (..), def)
import Data.Foldable (for_)
import Data.List.Split (splitWhen)
-import Data.List (foldl')
+import qualified Data.List as L
import qualified Data.Map as M
import Data.Maybe (fromMaybe, isJust, isNothing)
import Data.Either (partitionEithers)
@@ -444,9 +444,9 @@ pDefListItem = try $ do
terms <- many1 (try $ skipMany nonItem >> pInTags "dt" inline)
defs <- many1 (try $ skipMany nonItem >> pInTags "dd" block)
skipMany nonItem
- let term = foldl' (\x y -> if null x
- then trimInlines y
- else x <> B.linebreak <> trimInlines y)
+ let term = L.foldl' (\x y -> if null x
+ then trimInlines y
+ else x <> B.linebreak <> trimInlines y)
mempty terms
return (term, map (fixPlains True) defs)
diff --git a/src/Text/Pandoc/Readers/HTML/Table.hs b/src/Text/Pandoc/Readers/HTML/Table.hs
index 756f857fd..b452a60ac 100644
--- a/src/Text/Pandoc/Readers/HTML/Table.hs
+++ b/src/Text/Pandoc/Readers/HTML/Table.hs
@@ -20,7 +20,7 @@ import Control.Applicative ((<|>))
import Data.Maybe (fromMaybe, isJust)
import Data.Either (lefts, rights)
import Data.List.NonEmpty (nonEmpty)
-import Data.List (foldl')
+import qualified Data.List as L
import Data.Text (Text)
import Text.HTML.TagSoup
import Text.Pandoc.Builder (Blocks)
@@ -204,9 +204,9 @@ pTableBody block = try $ do
let adjustRowHeadCols
headcolsv
(currentrow, (numheads, Row _ cells)) =
- foldl' (adjustRowHeadColsForCell currentrow) headcolsv
+ L.foldl' (adjustRowHeadColsForCell currentrow) headcolsv
(take numheads cells)
- let headcols = foldl' adjustRowHeadCols
+ let headcols = L.foldl' adjustRowHeadCols
(V.replicate numrows (0 :: Int))
(zip [(0 :: Int)..] rows)
let rowHeadCols = case V.uncons headcols of
diff --git a/src/Text/Pandoc/Readers/JATS.hs b/src/Text/Pandoc/Readers/JATS.hs
index 8f9951099..a1ea1d918 100644
--- a/src/Text/Pandoc/Readers/JATS.hs
+++ b/src/Text/Pandoc/Readers/JATS.hs
@@ -21,7 +21,7 @@ import Text.Pandoc.Error (PandocError(..))
import Data.Char (isDigit, isSpace)
import Data.Default
import Data.Generics
-import Data.List (foldl', intersperse)
+import qualified Data.List as L
import qualified Data.Map as Map
import Data.Maybe (maybeToList, fromMaybe, catMaybes)
import Data.Text (Text)
@@ -290,11 +290,11 @@ parseBlock (Elem e) = do
let items = filterChildren (named "def") e'
terms' <- mapM getInlines terms
items' <- mapM getBlocks items
- return (mconcat $ intersperse (str "; ") terms', items')
+ return (mconcat $ L.intersperse (str "; ") terms', items')
parseFigure = do
modify $ \st -> st{ jatsInFigure = True }
capt <- case filterChild (named "caption") e of
- Just t -> mconcat . intersperse linebreak <$>
+ Just t -> mconcat . L.intersperse linebreak <$>
mapM getInlines (filterChildren (const True) t)
Nothing -> return mempty
contents <- getBlocks e
@@ -350,7 +350,7 @@ parseBlock (Elem e) = do
n <- safeRead $ "0" <> T.filter (\x -> isDigit x || x == '.') w
if n > 0 then Just n else Nothing
let firstBody = fromMaybe [] (headMay multipleBodyRowElements)
- let numrows = foldl' max 0 $ map length firstBody
+ let numrows = L.foldl' max 0 $ map length firstBody
let aligns = case colspecs of
[] -> replicate numrows AlignDefault
cs -> map toAlignment cs
diff --git a/src/Text/Pandoc/Readers/LaTeX/Math.hs b/src/Text/Pandoc/Readers/LaTeX/Math.hs
index f1491656e..5685465f8 100644
--- a/src/Text/Pandoc/Readers/LaTeX/Math.hs
+++ b/src/Text/Pandoc/Readers/LaTeX/Math.hs
@@ -14,7 +14,7 @@ module Text.Pandoc.Readers.LaTeX.Math
)
where
import Data.Maybe (fromMaybe, mapMaybe, listToMaybe)
-import Data.List (foldl')
+import qualified Data.List as L
import Text.Pandoc.Walk (walk)
import Text.Pandoc.Builder as B
import qualified Data.Sequence as Seq
@@ -160,7 +160,7 @@ newtheorem inline = do
extractLabelFromBlock :: Block -> Maybe Text
extractLabelFromBlock (Para inlines) = extractLabel Nothing inlines
where
- extractLabel = foldl' go
+ extractLabel = L.foldl' go
go :: Maybe Text -> Inline -> Maybe Text
go (Just t) _ = Just t
go Nothing (Span (_, _, attrs) _) = lookup "label" attrs
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 1ee1b801e..ad22996b4 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -24,7 +24,8 @@ import Control.Monad
import Control.Monad.Except (throwError)
import qualified Data.Bifunctor as Bifunctor
import Data.Char (isAlphaNum, isPunctuation, isSpace)
-import Data.List (transpose, elemIndex, sortOn, foldl')
+import Data.List (transpose, elemIndex, sortOn)
+import qualified Data.List as L
import qualified Data.Map as M
import Data.Maybe
import qualified Data.Set as Set
@@ -388,7 +389,7 @@ referenceKey = try $ do
addKvs <- option [] $ guardEnabled Ext_mmd_link_attributes
>> many (try $ spnl >> keyValAttr)
blanklines
- let attr' = extractIdClass $ foldl' (\x f -> f x) attr addKvs
+ let attr' = extractIdClass $ L.foldl' (\x f -> f x) attr addKvs
target = (escapeURI $ trimr src, tit)
st <- getState
let oldkeys = stateKeys st
@@ -648,7 +649,7 @@ attributes = try $ do
spnl
attrs <- many (attribute <* spnl)
char '}'
- return $ foldl' (\x f -> f x) nullAttr attrs
+ return $ L.foldl' (\x f -> f x) nullAttr attrs
attribute :: PandocMonad m => MarkdownParser m (Attr -> Attr)
attribute = identifierAttr <|> classAttr <|> keyValAttr <|> specialAttr
diff --git a/src/Text/Pandoc/Readers/ODT/Arrows/State.hs b/src/Text/Pandoc/Readers/ODT/Arrows/State.hs
index 9e695fa17..ef6986278 100644
--- a/src/Text/Pandoc/Readers/ODT/Arrows/State.hs
+++ b/src/Text/Pandoc/Readers/ODT/Arrows/State.hs
@@ -36,7 +36,6 @@ module Text.Pandoc.Readers.ODT.Arrows.State
import Control.Arrow
import qualified Control.Category as Cat
import Control.Monad
-import Data.Foldable
import Text.Pandoc.Readers.ODT.Arrows.Utils
import Text.Pandoc.Readers.ODT.Generic.Fallible
diff --git a/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs b/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs
index f5bd843ca..727ec3166 100644
--- a/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs
+++ b/src/Text/Pandoc/Readers/ODT/Generic/XMLConverter.hs
@@ -64,7 +64,7 @@ import qualified Data.Map as M
import Data.Text (Text)
import Data.Default
import Data.Maybe
-import Data.List (foldl')
+import qualified Data.List as L
import qualified Data.List.NonEmpty as NonEmpty
import Data.List.NonEmpty (NonEmpty(..))
@@ -298,7 +298,7 @@ readNSattributes = fromState $ \state -> maybe (state, failEmpty )
=> XMLConverterState nsID extraState
-> Maybe (XMLConverterState nsID extraState)
extractNSAttrs startState
- = foldl' (\state d -> state >>= addNS d)
+ = L.foldl' (\state d -> state >>= addNS d)
(Just startState)
nsAttribs
where nsAttribs = mapMaybe readNSattr (XML.elAttribs element)
diff --git a/src/Text/Pandoc/Readers/ODT/StyleReader.hs b/src/Text/Pandoc/Readers/ODT/StyleReader.hs
index 474303bd6..a1031d4ab 100644
--- a/src/Text/Pandoc/Readers/ODT/StyleReader.hs
+++ b/src/Text/Pandoc/Readers/ODT/StyleReader.hs
@@ -45,7 +45,7 @@ import Control.Arrow
import Data.Default
import qualified Data.Foldable as F
-import Data.List (unfoldr, foldl')
+import qualified Data.List as L
import qualified Data.Map as M
import Data.Maybe
import Data.Text (Text)
@@ -121,7 +121,7 @@ fontPitchReader = executeInSub NsOffice "font-face-decls" (
&&&
lookupDefaultingAttr NsStyle "font-pitch"
))
- >>?^ ( M.fromList . foldl' accumLegalPitches [] )
+ >>?^ ( M.fromList . L.foldl' accumLegalPitches [] )
) `ifFailedDo` returnV (Right M.empty)
where accumLegalPitches ls (Nothing,_) = ls
accumLegalPitches ls (Just n,p) = (n,p):ls
@@ -603,7 +603,7 @@ lookupListStyleByName name Styles{..} = M.lookup name listStylesByName
-- be the first element of the list, followed by its parent and so on.
-- The current style is not in the list.
parents :: Style -> Styles -> [Style]
-parents style styles = unfoldr findNextParent style -- Ha!
+parents style styles = L.unfoldr findNextParent style -- Ha!
where findNextParent Style{..}
= fmap duplicate $ (`lookupStyle` styles) =<< styleParentName
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs
index 9c9123a47..cddd56382 100644
--- a/src/Text/Pandoc/Readers/Org/Blocks.hs
+++ b/src/Text/Pandoc/Readers/Org/Blocks.hs
@@ -38,7 +38,7 @@ import Data.Bifunctor (bimap)
import Data.Char (isSpace)
import Data.Default (Default)
import Data.Functor (($>))
-import Data.List (find, foldl')
+import qualified Data.List as L
import Data.Maybe (fromMaybe, isJust, isNothing)
import Data.Text (Text)
import Data.List.NonEmpty (nonEmpty)
@@ -130,9 +130,9 @@ blockAttributes :: PandocMonad m => OrgParser m BlockAttributes
blockAttributes = try $ do
kv <- many stringyMetaAttribute
guard $ all (isBlockAttr . fst) kv
- let caption = foldl' (appendValues "caption") Nothing kv
- let kvAttrs = foldl' (appendValues "attr_html") Nothing kv
- let name = snd <$> find ((`elem` ["name", "label"]) . fst) (reverse kv)
+ let caption = L.foldl' (appendValues "caption") Nothing kv
+ let kvAttrs = L.foldl' (appendValues "attr_html") Nothing kv
+ let name = snd <$> L.find ((`elem` ["name", "label"]) . fst) (reverse kv)
caption' <- traverse (parseFromString inlines . (<> "\n")) caption
kvAttrs' <- parseFromString keyValues . (<> "\n") $ fromMaybe mempty kvAttrs
return BlockAttributes
diff --git a/src/Text/Pandoc/Readers/RIS.hs b/src/Text/Pandoc/Readers/RIS.hs
index 66fa26506..fab266657 100644
--- a/src/Text/Pandoc/Readers/RIS.hs
+++ b/src/Text/Pandoc/Readers/RIS.hs
@@ -23,7 +23,7 @@ import Text.Pandoc.Options
import Text.Pandoc.Definition
import Text.Pandoc.Parsing
import Data.Char (isAsciiUpper, isDigit, isSpace, ord, chr)
-import Data.List (foldl')
+import qualified Data.List as L
import Citeproc (Reference(..), ItemId(..), Val(..), Date(..), DateParts(..),
toVariable)
import Text.Pandoc.Builder as B
@@ -185,7 +185,7 @@ risReferences = do
return $ fixDuplicateIds $ map risRecordToReference recs
fixDuplicateIds :: [Reference Text] -> [Reference Text]
-fixDuplicateIds = reverse . snd . foldl' go (mempty, [])
+fixDuplicateIds = reverse . snd . L.foldl' go (mempty, [])
where
go (ids_seen, refs) ref =
case M.lookup (referenceId ref) ids_seen of
diff --git a/src/Text/Pandoc/Readers/RTF.hs b/src/Text/Pandoc/Readers/RTF.hs
index b1195ac19..cb60242be 100644
--- a/src/Text/Pandoc/Readers/RTF.hs
+++ b/src/Text/Pandoc/Readers/RTF.hs
@@ -20,7 +20,7 @@ import qualified Data.Sequence as Seq
import Control.Monad
import Control.Monad.Except (throwError)
import Crypto.Hash (hashWith, SHA1(SHA1))
-import Data.List (find, foldl')
+import qualified Data.List as L
import Data.Word (Word8, Word16)
import Data.Default
import Data.Text (Text)
@@ -895,7 +895,7 @@ parseStyle (Tok _ (Grouped toks)) = do
_ -> mempty
let isBasedOn (Tok _ (ControlWord "sbasedon" (Just _))) = True
isBasedOn _ = False
- let styBasedOn = case find isBasedOn toks of
+ let styBasedOn = case L.find isBasedOn toks of
Just (Tok _ (ControlWord "sbasedon" (Just i))) -> Just i
_ -> Nothing
let isStyleControl (Tok _ (ControlWord x _)) =
@@ -920,7 +920,7 @@ hexToWord t = case TR.hexadecimal t of
handlePict :: PandocMonad m => [Tok] -> RTFParser m ()
handlePict toks = do
- let pict = foldl' getPictData def toks
+ let pict = L.foldl' getPictData def toks
let altText = "image"
let bytes =
if picBinary pict
@@ -959,7 +959,7 @@ handlePict toks = do
processFontTable :: [Tok] -> FontTable
-processFontTable = snd . foldl' go (0, mempty)
+processFontTable = snd . L.foldl' go (0, mempty)
where
go (fontnum, tbl) (Tok _ tok') =
case tok' of
@@ -972,7 +972,7 @@ processFontTable = snd . foldl' go (0, mempty)
(ControlWord "fdecor" _) -> (fontnum, IntMap.insert fontnum Decor tbl)
(ControlWord "ftech" _) -> (fontnum, IntMap.insert fontnum Tech tbl)
(ControlWord "fbidi" _) -> (fontnum, IntMap.insert fontnum Bidi tbl)
- (Grouped ts) -> foldl' go (fontnum, tbl) ts
+ (Grouped ts) -> L.foldl' go (fontnum, tbl) ts
_ -> (fontnum, tbl)
defaultAnsiWordToChar :: Word8 -> Char
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index f6a73d641..cbe10b327 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -38,7 +38,8 @@ module Text.Pandoc.Readers.Textile ( readTextile) where
import Control.Monad (guard, liftM)
import Control.Monad.Except (throwError)
import Data.Char (digitToInt, isUpper)
-import Data.List (intersperse, transpose, foldl')
+import Data.List (intersperse, transpose)
+import qualified Data.List as L
import Data.List.NonEmpty (NonEmpty(..), nonEmpty)
import qualified Data.Map as M
import Data.Text (Text)
@@ -732,7 +733,7 @@ orderedListStartAttr = do
-- | Html / CSS attributes
attributes :: PandocMonad m => TextileParser m Attr
-attributes = foldl' (flip ($)) ("",[],[]) <$>
+attributes = L.foldl' (flip ($)) ("",[],[]) <$>
try (do special <- option id specialAttribute
attrs <- many attribute
return (special : attrs))