summaryrefslogtreecommitdiff
path: root/pandoc-cli/src
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2022-09-23 22:26:37 +0200
committerAlbert Krewinkel <albert@zeitkraut.de>2022-09-23 22:26:37 +0200
commite3648357cfe2bd54b0426f332ea3abd44e68a8af (patch)
tree112e79b37fd0e2007850d0ba6ce267a3a2a9fe46 /pandoc-cli/src
parentced8b258be630b70bb42edbe2418547b26f56934 (diff)
Use hslua-cli package for pandoc-lua interface
Diffstat (limited to 'pandoc-cli/src')
-rw-r--r--pandoc-cli/src/pandoc.hs14
1 files changed, 12 insertions, 2 deletions
diff --git a/pandoc-cli/src/pandoc.hs b/pandoc-cli/src/pandoc.hs
index 49aaa884e..bcbc0ba46 100644
--- a/pandoc-cli/src/pandoc.hs
+++ b/pandoc-cli/src/pandoc.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE OverloadedStrings #-}
{- |
Module : Main
Copyright : Copyright (C) 2006-2022 John MacFarlane
@@ -11,11 +12,15 @@ Parses command-line options and calls the appropriate readers and
writers.
-}
module Main where
+import Control.Monad ((<=<))
import qualified Control.Exception as E
+import HsLua.CLI (Settings (..), runStandalone)
import Text.Pandoc.App (convertWithOpts, defaultOpts, options, parseOptions)
+import Text.Pandoc.Class (runIOorExplode)
import Text.Pandoc.Error (handleError)
-import Text.Pandoc.Lua (runScript)
+import Text.Pandoc.Lua (runLua)
import Text.Pandoc.Server (ServerOpts(..), parseServerOpts, app)
+import Text.Pandoc.Shared (pandocVersion)
import Safe (readDef)
import System.Environment (getProgName, lookupEnv)
import qualified Network.Wai.Handler.CGI as CGI
@@ -31,5 +36,10 @@ main = E.handle (handleError . Left) $ do
"pandoc-server" -> do
sopts <- parseServerOpts
Warp.run (serverPort sopts) (timeout (serverTimeout sopts) app)
- "pandoc-lua" -> runScript
+ "pandoc-lua" -> do
+ let settings = Settings
+ { settingsVersionInfo = "\nEmbedded in pandoc " <> pandocVersion
+ , settingsRunner = handleError <=< runIOorExplode . runLua
+ }
+ runStandalone settings
_ -> parseOptions options defaultOpts >>= convertWithOpts