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`.
This commit is contained in:
Albert Krewinkel 2021-11-05 03:25:29 +01:00 committed by GitHub
parent 0b254ea4af
commit a1b6bf69f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 0 deletions

View file

@ -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,

View file

@ -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

View file

@ -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