diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2021-11-05 03:25:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-04 19:25:29 -0700 |
commit | a1b6bf69f2266f6b1beb0db4383915a9c4a4eb83 (patch) | |
tree | 4cc8c8f22e0e3f61714669d8a86033d2bb76c7d8 | |
parent | 0b254ea4af38cf53c027eb5e9977e96c2b7975c7 (diff) | |
download | pandoc-a1b6bf69f2266f6b1beb0db4383915a9c4a4eb83.tar.gz |
Lua: include lpeg module (#7649)
Compiles the 'lpeg' library (Parsing Expression Grammars For Lua) into
the program.
Package maintainers may choose to rely on package dependencies to make
lpeg available, in which case they can compile the with the constraint
`lpeg +rely-on-shared-lpeg-library`.
-rw-r--r-- | pandoc.cabal | 1 | ||||
-rw-r--r-- | src/Text/Pandoc/Lua/Packages.hs | 4 | ||||
-rw-r--r-- | stack.yaml | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/pandoc.cabal b/pandoc.cabal index 1d9ca19dd..8911cdb1b 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -561,6 +561,7 @@ library http-types >= 0.8 && < 0.13, ipynb >= 0.1.0.2 && < 0.2, jira-wiki-markup >= 1.4 && < 1.5, + lpeg >= 1.0 && < 1.1, mtl >= 2.2 && < 2.3, network >= 2.6, network-uri >= 2.6 && < 2.8, diff --git a/src/Text/Pandoc/Lua/Packages.hs b/src/Text/Pandoc/Lua/Packages.hs index 3a481886a..4fb11a646 100644 --- a/src/Text/Pandoc/Lua/Packages.hs +++ b/src/Text/Pandoc/Lua/Packages.hs @@ -22,6 +22,7 @@ import Text.Pandoc.Lua.PandocLua (PandocLua, liftPandocLua, loadDefaultModule) import qualified HsLua as Lua import qualified HsLua.Module.Path as Path import qualified HsLua.Module.Text as Text +import qualified Lua.LPeg as LPeg import qualified Text.Pandoc.Lua.Module.Pandoc as Pandoc import qualified Text.Pandoc.Lua.Module.MediaBag as MediaBag import qualified Text.Pandoc.Lua.Module.System as System @@ -35,6 +36,9 @@ installPandocPackageSearcher = liftPandocLua $ do shiftArray Lua.pushHaskellFunction $ Lua.toHaskellFunction pandocPackageSearcher Lua.rawseti (Lua.nth 2) 1 + -- add lpeg searcher as last searcher + Lua.pushHaskellFunction $ Lua.state >>= Lua.liftIO . LPeg.lpeg_searcher + Lua.rawseti (Lua.nth 2) 6 Lua.pop 1 -- remove 'package.searchers' from stack where shiftArray = forM_ [4, 3, 2, 1] $ \i -> do diff --git a/stack.yaml b/stack.yaml index 651c25167..656063846 100644 --- a/stack.yaml +++ b/stack.yaml @@ -12,6 +12,7 @@ extra-deps: - doctemplates-0.10 - emojis-0.1.2 - doclayout-0.3.1.1 +- lpeg-1.0.0 - hslua-2.0.1 - hslua-classes-2.0.0 - hslua-core-2.0.0.2 |