diff options
| author | John MacFarlane <[email protected]> | 2020-04-17 17:28:55 -0700 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2020-04-17 22:55:44 -0700 |
| commit | 3eb9e1b8bd6eec9b96ab1da230b90d635970607e (patch) | |
| tree | dab56cee01110319f9f981c55aeb9e0f9993cac0 /src/Text/Pandoc/Lua/Util.hs | |
| parent | 8f40b4ba14fce10199a059a281c9bd10c884241d (diff) | |
Fooling around with a new setup for Text.Pandoc.Data.initialize-data-files
It is Now an exported module, exporting initializeDataFiles which must
be run in PandocMonad if you are going to be looking for any data files.
The point of this is to decouple pandoc's data from "pandoc-core,"
including the infrastructure for PandocMonad.
Diffstat (limited to 'src/Text/Pandoc/Lua/Util.hs')
| -rw-r--r-- | src/Text/Pandoc/Lua/Util.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Lua/Util.hs b/src/Text/Pandoc/Lua/Util.hs index d79fbb085..00325e61e 100644 --- a/src/Text/Pandoc/Lua/Util.hs +++ b/src/Text/Pandoc/Lua/Util.hs @@ -31,6 +31,7 @@ import Foreign.Lua ( Lua, NumArgs, NumResults, Peekable, Pushable, StackIndex , Status, ToHaskellFunction ) import Text.Pandoc.Class.PandocIO (runIOorExplode) import Text.Pandoc.Class.PandocMonad (readDataFile, setUserDataDir) +import Text.Pandoc.Data (initializeDataFiles) import qualified Foreign.Lua as Lua import qualified Text.Pandoc.UTF8 as UTF8 import Data.Text (Text) @@ -90,8 +91,10 @@ pushViaConstructor pandocFn = pushViaCall ("pandoc." ++ pandocFn) -- | Load a file from pandoc's data directory. loadScriptFromDataDir :: Maybe FilePath -> FilePath -> Lua () loadScriptFromDataDir datadir scriptFile = do - script <- Lua.liftIO . runIOorExplode $ - setUserDataDir datadir >> readDataFile scriptFile + script <- Lua.liftIO . runIOorExplode $ do + initializeDataFiles + setUserDataDir datadir + readDataFile scriptFile status <- Lua.dostring script when (status /= Lua.OK) $ throwTopMessageAsError' (("Couldn't load '" ++ scriptFile ++ "'.\n") ++) |
