Require pandoc-types 1.17.4.

And a few tweaks related to the Semigroups/Monoid change.

Closes #4448.
This commit is contained in:
John MacFarlane
2018-03-13 23:23:04 -07:00
parent bcfc3916e9
commit 1b37e3b3c0
9 changed files with 26 additions and 11 deletions
+2 -2
View File
@@ -370,7 +370,7 @@ library
xml >= 1.3.12 && < 1.4,
split >= 0.2 && < 0.3,
random >= 1 && < 1.2,
pandoc-types >= 1.17.3 && < 1.18,
pandoc-types >= 1.17.4 && < 1.18,
aeson >= 0.7 && < 1.4,
aeson-pretty >= 0.8.5 && < 0.9,
tagsoup >= 0.14.6 && < 0.15,
@@ -605,7 +605,7 @@ test-suite test-pandoc
hs-source-dirs: test
build-depends: base >= 4.2 && < 5,
pandoc,
pandoc-types >= 1.17.3 && < 1.18,
pandoc-types >= 1.17.4 && < 1.18,
bytestring >= 0.9 && < 0.11,
base64-bytestring >= 0.1 && < 1.1,
text >= 0.11 && < 1.3,
+14 -2
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
@@ -202,7 +203,11 @@ import Data.Default
import Data.List (intercalate, isSuffixOf, transpose)
import qualified Data.Map as M
import Data.Maybe (mapMaybe, fromMaybe)
#if MIN_VERSION_base(4,9,0)
import Data.Semigroup (Semigroup, (<>))
#else
import Data.Monoid ((<>))
#endif
import qualified Data.Set as Set
import Data.Text (Text)
import Text.HTML.TagSoup.Entity (lookupEntity)
@@ -250,10 +255,17 @@ returnF = return . return
trimInlinesF :: Future s Inlines -> Future s Inlines
trimInlinesF = liftM trimInlines
#if MIN_VERSION_base(4,9,0)
instance Semigroup a => Semigroup (Future s a) where
(<>) = liftM2 (<>)
instance (Semigroup a, Monoid a) => Monoid (Future s a) where
mempty = return mempty
mappend = (<>)
#else
instance Monoid a => Monoid (Future s a) where
mempty = return mempty
mappend = liftM2 mappend
mconcat = liftM mconcat . sequence
#endif
-- | Parse characters while a predicate is true.
takeWhileP :: Monad m
@@ -1437,7 +1449,7 @@ token pp pos match = tokenPrim pp (\_ t _ -> pos t) match
infixr 5 <+?>
(<+?>) :: (Monoid a) => ParserT s st m a -> ParserT s st m a -> ParserT s st m a
a <+?> b = a >>= flip fmap (try b <|> return mempty) . (<>)
a <+?> b = a >>= flip fmap (try b <|> return mempty) . mappend
extractIdClass :: Attr -> Attr
extractIdClass (ident, cls, kvs) = (ident', cls', kvs')
+1 -1
View File
@@ -39,7 +39,7 @@ import qualified Data.HashMap.Strict as H
import Data.List (intercalate, sortBy, transpose, elemIndex)
import qualified Data.Map as M
import Data.Maybe
import Data.Monoid ((<>))
import Data.Monoid
import Data.Ord (comparing)
import Data.Scientific (base10Exponent, coefficient)
import qualified Data.Set as Set
+3 -3
View File
@@ -520,7 +520,7 @@ matchingElement :: (Monoid e)
matchingElement ns name reader = (ns, name, asResultAccumulator reader)
where
asResultAccumulator :: (ArrowChoice a, Monoid m) => a m m -> a m (Fallible m)
asResultAccumulator a = liftAsSuccess $ keepingTheValue a >>% (<>)
asResultAccumulator a = liftAsSuccess $ keepingTheValue a >>% mappend
--
matchChildContent' :: (Monoid result)
@@ -554,7 +554,7 @@ read_plain_text = fst ^&&& read_plain_text' >>% recover
read_plain_text' = ( second ( arr extractText )
>>^ spreadChoice >>?! second text
)
>>?% (<>)
>>?% mappend
--
extractText :: XML.Content -> Fallible String
extractText (XML.Text cData) = succeedWith (XML.cdData cData)
@@ -565,7 +565,7 @@ read_text_seq = matchingElement NsText "sequence"
$ matchChildContent [] read_plain_text
-- specifically. I honor that, although the current implementation of '(<>)'
-- specifically. I honor that, although the current implementation of 'mappend'
-- for 'Inlines' in "Text.Pandoc.Builder" will collapse them again.
-- The rational is to be prepared for future modifications.
read_spaces :: InlineMatcher
+1 -1
View File
@@ -36,7 +36,7 @@ import Control.Arrow ((***))
import Control.Monad (guard, void)
import Data.Char (toLower, toUpper)
import Data.List (intersperse)
import Data.Monoid ((<>))
import Data.Monoid ((<>), mconcat)
import Text.Pandoc.Builder (Blocks, Inlines)
import Text.Pandoc.Class (PandocMonad)
import Text.Pandoc.Definition
+1 -1
View File
@@ -55,7 +55,7 @@ import Data.Char (isAlphaNum, isSpace)
import Data.List (intersperse)
import qualified Data.Map as M
import Data.Maybe (fromMaybe)
import Data.Monoid ((<>))
import Data.Monoid
import Data.Traversable (sequence)
import Prelude hiding (sequence)
+2 -1
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-
Copyright (C) 2017-2018 Yuchen Pei <me@ypei.me>
@@ -68,7 +69,7 @@ import Control.Monad.Except (throwError)
import Data.Default
import Data.List (isInfixOf, isPrefixOf)
import Data.Maybe
import Data.Monoid ((<>))
import Data.Monoid
import Data.Text (Text, unpack)
import Text.Pandoc.Builder (Blocks, Inlines, fromList, toList, trimInlines)
import qualified Text.Pandoc.Builder as B (blockQuote, bulletList, code,
+1
View File
@@ -27,4 +27,5 @@ extra-deps:
- hs-bibutils-6.2.0.1
- pandoc-citeproc-0.14.1.5
- tagsoup-0.14.6
- pandoc-types-1.17.4
resolver: lts-9.14
+1
View File
@@ -21,6 +21,7 @@ extra-deps:
- tasty-1.0.0.1
- texmath-0.10.1.1
- tagsoup-0.14.6
- pandoc-types-1.17.4
ghc-options:
"$locals": -fhide-source-paths
resolver: lts-10.3