summaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2023-07-03 22:50:10 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2023-07-03 22:50:10 -0700
commitb4d7937852c5375d392d707069c1156bd1d1d21d (patch)
tree0de1dd096e0362331615c058ed346b3e2a95e372 /src/Text
parent1b52baaf37bddf019d8c11fc1eb433b594f341fa (diff)
Get things working with latest dev version of typst.
This supports package loading (as long as the package has been cached or is local).
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Readers/Typst.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Typst.hs b/src/Text/Pandoc/Readers/Typst.hs
index 7034d45b0..9c15d1c55 100644
--- a/src/Text/Pandoc/Readers/Typst.hs
+++ b/src/Text/Pandoc/Readers/Typst.hs
@@ -47,7 +47,6 @@ import Text.Pandoc.Readers.Typst.Parsing (pTok, ignored, chunks, getField, P)
import Typst.Methods (applyPureFunction, formatNumber)
import Typst.Types
-
-- | Read Typst from an input string and return a Pandoc document.
readTypst :: (PandocMonad m, ToSources a)
=> ReaderOptions -> a -> m Pandoc
@@ -58,8 +57,13 @@ readTypst _opts inp = do
_ -> ""
case parseTypst inputName (sourcesToText sources) of
Left e -> throwError $ PandocParseError $ T.pack $ show e
- Right parsed ->
- evaluateTypst readFileStrict getCurrentTime inputName parsed >>=
+ Right parsed -> do
+ let ops = Operations {
+ loadBytes = readFileStrict,
+ currentUTCTime = getCurrentTime,
+ lookupEnvVar = fmap (fmap T.unpack) . lookupEnv . T.pack,
+ checkExistence = fileExists }
+ evaluateTypst ops inputName parsed >>=
either (throwError . PandocParseError . T.pack . show) pure >>=
runParserT pPandoc () inputName . F.toList >>=
either (throwError . PandocParseError . T.pack . show) pure