aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2022-08-15 09:57:08 -0700
committerJohn MacFarlane <[email protected]>2022-08-15 09:57:08 -0700
commit3c2b97df3298c974733cdc0873cc5fdf98e7dc8e (patch)
treec8fe83d753dda76f15f617316470897779642f6c
parent3f2b44b694af2af42468b03437db70b24d6263df (diff)
server: add --version.
-rw-r--r--server/Main.hs14
-rw-r--r--server/pandoc-server.md5
2 files changed, 17 insertions, 2 deletions
diff --git a/server/Main.hs b/server/Main.hs
index 4266519c7..531a0b0a0 100644
--- a/server/Main.hs
+++ b/server/Main.hs
@@ -1,15 +1,20 @@
module Main where
import PandocServer (app)
+import Text.Pandoc (pandocVersion)
+import Control.Monad (when)
import qualified Network.Wai.Handler.CGI as CGI
import qualified Network.Wai.Handler.Warp as Warp
import Network.Wai.Middleware.Timeout (timeout)
import System.Environment (getProgName)
import Options.Applicative
+import System.Exit (exitWith, ExitCode(ExitSuccess))
+import Data.Text as T
data Opts = Opts
{ optPort :: Warp.Port,
- optTimeout :: Int } -- in seconds
+ optTimeout :: Int, -- seconds
+ optVersion :: Bool }
options :: Parser Opts
options = Opts
@@ -23,6 +28,9 @@ options = Opts
<> value 2
<> metavar "SECONDS"
<> help "Seconds timeout" )
+ <*> flag False True
+ ( long "version"
+ <> help "Print version" )
main :: IO ()
main = do
@@ -33,6 +41,10 @@ main = do
<> header "pandoc-server - text conversion server" )
opts <- execParser optspec
+ when (optVersion opts) $ do
+ putStrLn $ progname <> " " <> T.unpack pandocVersion
+ exitWith ExitSuccess
+
let port = optPort opts
let app' = timeout (optTimeout opts) app
if progname == "pandoc-server.cgi"
diff --git a/server/pandoc-server.md b/server/pandoc-server.md
index 6d7961ee4..9d6624c29 100644
--- a/server/pandoc-server.md
+++ b/server/pandoc-server.md
@@ -24,7 +24,10 @@ program, rename it as `pandoc-server.cgi`.
: Timeout in seconds, after which a conversion is killed. Default: 2.
`--help`
-: Help
+: Print this help.
+
+`--version`
+: Print version.
# API