aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Filter.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-08-22 21:38:55 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2021-08-24 22:18:14 -0700
commit0efbfb33ada6166eb53c5effb1b80393647a1c40 (patch)
tree5bc5a4959c3f9dc4540a27a5ad12eae8b9c95b2f /src/Text/Pandoc/Filter.hs
parent65e78dac74d29e70db883930eaa384598a23855b (diff)
downloadpandoc-0efbfb33ada6166eb53c5effb1b80393647a1c40.tar.gz
Text.Pandoc.Filter: Generalize type of applyFilters...
from PandocIO to any instance of MonadIO and PandocMonad. [API change]
Diffstat (limited to 'src/Text/Pandoc/Filter.hs')
-rw-r--r--src/Text/Pandoc/Filter.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Filter.hs b/src/Text/Pandoc/Filter.hs
index 1209ceeb7..c2f522109 100644
--- a/src/Text/Pandoc/Filter.hs
+++ b/src/Text/Pandoc/Filter.hs
@@ -21,8 +21,7 @@ module Text.Pandoc.Filter
import System.CPUTime (getCPUTime)
import Data.Aeson.TH (deriveJSON, defaultOptions)
import GHC.Generics (Generic)
-import Text.Pandoc.Class.PandocIO (PandocIO)
-import Text.Pandoc.Class.PandocMonad (report, getVerbosity)
+import Text.Pandoc.Class (report, getVerbosity, PandocMonad)
import Text.Pandoc.Definition (Pandoc)
import Text.Pandoc.Options (ReaderOptions)
import Text.Pandoc.Logging
@@ -66,11 +65,12 @@ instance FromYAML Filter where
_ -> JSONFilter fp) node
-- | Modify the given document using a filter.
-applyFilters :: ReaderOptions
+applyFilters :: (PandocMonad m, MonadIO m)
+ => ReaderOptions
-> [Filter]
-> [String]
-> Pandoc
- -> PandocIO Pandoc
+ -> m Pandoc
applyFilters ropts filters args d = do
expandedFilters <- mapM expandFilterPath filters
foldM applyFilter d expandedFilters
@@ -92,7 +92,7 @@ applyFilters ropts filters args d = do
toMilliseconds picoseconds = picoseconds `div` 1000000000
-- | Expand paths of filters, searching the data directory.
-expandFilterPath :: Filter -> PandocIO Filter
+expandFilterPath :: (PandocMonad m, MonadIO m) => Filter -> m Filter
expandFilterPath (LuaFilter fp) = LuaFilter <$> Path.expandFilterPath fp
expandFilterPath (JSONFilter fp) = JSONFilter <$> Path.expandFilterPath fp
expandFilterPath CiteprocFilter = return CiteprocFilter