mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-21 13:51:29 +08:00
Require pandoc-types 1.17.4.
And a few tweaks related to the Semigroups/Monoid change. Closes #4448.
This commit is contained in:
+2
-2
@@ -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,
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user