diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2023-07-03 22:50:10 -0700 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2023-07-03 22:50:10 -0700 |
| commit | b4d7937852c5375d392d707069c1156bd1d1d21d (patch) | |
| tree | 0de1dd096e0362331615c058ed346b3e2a95e372 /src/Text | |
| parent | 1b52baaf37bddf019d8c11fc1eb433b594f341fa (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.hs | 10 |
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 |
