pandoc-cli 3.7.0.2 → 3.8
raw patch · 5 files changed
+154/−88 lines, 5 filesdep ~pandocdep ~pandoc-lua-enginedep ~pandoc-server
Dependency ranges changed: pandoc, pandoc-lua-engine, pandoc-server
Files
- man/pandoc-lua.1 +2/−2
- man/pandoc-server.1 +19/−5
- man/pandoc.1 +118/−48
- pandoc-cli.cabal +4/−4
- src/pandoc.hs +11/−29
man/pandoc-lua.1 view
@@ -1,6 +1,6 @@-.\" Automatically generated by Pandoc 3.7.0.2+.\" Automatically generated by Pandoc 3.8 .\"-.TH "pandoc-lua" "1" "September 22, 2022" "pandoc 3.7.0.2" "Pandoc User\[cq]s Guide"+.TH "pandoc-lua" "1" "September 22, 2022" "pandoc 3.8" "Pandoc User\[cq]s Guide" .SH SYNOPSIS \f[CR]pandoc\-lua\f[R] [\f[I]options\f[R]] [\f[I]script\f[R] [\f[I]args\f[R]]]
man/pandoc-server.1 view
@@ -1,6 +1,6 @@-.\" Automatically generated by Pandoc 3.7.0.2+.\" Automatically generated by Pandoc 3.8 .\"-.TH "pandoc-server" "1" "August 15, 2022" "pandoc 3.7.0.2" "Pandoc User\[cq]s Guide"+.TH "pandoc-server" "1" "August 15, 2022" "pandoc 3.8" "Pandoc User\[cq]s Guide" .SH SYNOPSIS \f[CR]pandoc\-server\f[R] [\f[I]options\f[R]] .SH DESCRIPTION@@ -38,7 +38,6 @@ Timeout in seconds, after which a conversion is killed. Default: 2. .RS-.PP When \f[CR]pandoc\-server\f[R] is run as a CGI program, this option can be set via the \f[CR]PANDOC_SERVER_TIMEOUT\f[R] environment variable. .RE@@ -177,8 +176,18 @@ Causes HTML comments to be stripped in Markdown or Textile source, instead of being passed through to the output format. .TP-\f[CR]highlight\-style\f[R] (string, leave unset for no highlighting)-Specify the style to use for syntax highlighting of code.+\f[CR]syntax\-highlighting\f[R] (\f[CR]\(dqdefault\(dq|\(dqnone\(dq|\(dqidiomatic\(dq|style\f[R])+The method used for code syntax highlighting.+Setting a specific \f[I]style\f[R] causes highlighting to be performed+with the internal highlighting engine, using KDE syntax definitions and+styles.+The \f[CR]\(dqidiomatic\(dq\f[R] method uses a format\-specific+highlighter if one is available, or the default style if the target+format has no idiomatic highlighting method.+Setting this option to \f[CR]none\f[R] disables all syntax highlighting.+The \f[CR]\(dqdefault\(dq\f[R] method uses a format\-specific default.+.RS+.PP Standard styles are \f[CR]\(dqpygments\(dq\f[R] (the default), \f[CR]\(dqkate\(dq\f[R], \f[CR]\(dqmonochrome\(dq\f[R], \f[CR]\(dqbreezeDark\(dq\f[R], \f[CR]\(dqespresso\(dq\f[R],@@ -187,6 +196,11 @@ Alternatively, the path of a \f[CR].theme\f[R] with a KDE syntax theme may be used (in this case, the relevant file contents must also be included in \f[CR]files\f[R], see below).+.PP+The default for HTML, EPUB, Docx, Ms, Man, and LaTeX output is to use+the internal highlighter with the default style; Typst output relies on+Typst\(cqs own syntax highlighting system by default.+.RE .TP \f[CR]embed\-resources\f[R] Embed images, scripts, styles and other resources in an HTML document
man/pandoc.1 view
@@ -1,6 +1,6 @@-.\" Automatically generated by Pandoc 3.7.0.2+.\" Automatically generated by Pandoc 3.8 .\"-.TH "pandoc" "1" "2025\-05\-28" "pandoc 3.7.0.2" "Pandoc User\[cq]s Guide"+.TH "pandoc" "1" "2025\-09\-06" "pandoc 3.8" "Pandoc User\[cq]s Guide" .SH NAME pandoc - general markup converter .SH SYNOPSIS@@ -174,6 +174,8 @@ \f[CR]csquotes\f[R] variable or metadata field is set to a true value. The \f[CR]natbib\f[R], \f[CR]biblatex\f[R], \f[CR]bibtex\f[R], and \f[CR]biber\f[R] packages can optionally be used for citation rendering.+If math with \f[CR]\(rscancel\f[R], \f[CR]\(rsbcancel\f[R], or+\f[CR]\(rsxcancel\f[R] is used, the \f[CR]cancel\f[R] package is needed. The following packages will be used to improve output quality if present, but pandoc does not require them to be present: \f[CR]upquote\f[R] (for straight quotes in verbatim environments),@@ -298,6 +300,8 @@ .IP \(bu 2 \f[CR]vimwiki\f[R] (Vimwiki) .IP \(bu 2+\f[CR]xml\f[R] (XML version of native AST)+.IP \(bu 2 the path of a custom Lua reader, see Custom readers and writers below .PP Extensions can be individually enabled or disabled by appending@@ -438,6 +442,8 @@ .IP \(bu 2 \f[CR]typst\f[R] (typst) .IP \(bu 2+\f[CR]xml\f[R] (XML version of native AST)+.IP \(bu 2 \f[CR]xwiki\f[R] (XWiki markup) .IP \(bu 2 \f[CR]zimwiki\f[R] (ZimWiki markup)@@ -544,7 +550,7 @@ .TP \f[CR]\-\-list\-highlight\-styles\f[R] List supported styles for syntax highlighting, one per line.-See \f[CR]\-\-highlight\-style\f[R].+See \f[CR]\-\-syntax\-highlighting\f[R]. .TP \f[CR]\-v\f[R], \f[CR]\-\-version\f[R] Print version.@@ -943,19 +949,35 @@ This does not apply to HTML comments inside raw HTML blocks when the \f[CR]markdown_in_html_blocks\f[R] extension is not set. .TP-\f[CR]\-\-no\-highlight\f[R]-Disables syntax highlighting for code blocks and inlines, even when a-language attribute is given.-.TP-\f[CR]\-\-highlight\-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R]-Specifies the coloring style to be used in highlighted source code.-Options are \f[CR]pygments\f[R] (the default), \f[CR]kate\f[R],+\f[CR]\-\-syntax\-highlighting=\(dqdefault\(dq|\(dqnone\(dq|\(dqidiomatic\(dq|\f[R]\f[I]STYLE\f[R]\f[CR]|\f[R]\f[I]FILE\f[R]+The method to use for code syntax highlighting.+Setting a specific \f[I]STYLE\f[R] causes highlighting to be performed+with the internal highlighting engine, using KDE syntax definitions and+styles.+The \f[CR]\(dqidiomatic\(dq\f[R] method uses a format\-specific+highlighter if one is available, or the default style if the target+format has no idiomatic highlighting method.+Setting this option to \f[CR]none\f[R] disables all syntax highlighting.+The \f[CR]\(dqdefault\(dq\f[R] method uses a format\-specific default.+.RS+.PP+The default for HTML, EPUB, Docx, Ms, Man, and LaTeX output is to use+the internal highlighter with the default style; Typst output relies on+Typst\(cqs own syntax highlighting system by default.+.PP+The \f[CR]listings\f[R] LaTeX package is used for idiomatic highlighting+in LaTeX.+The package does not support multi\-byte encoding for source code.+To handle UTF\-8 you would need to use a custom template.+This issue is fully documented here: Encoding issue with the listings+package.+.PP+Style options are \f[CR]pygments\f[R] (the default), \f[CR]kate\f[R], \f[CR]monochrome\f[R], \f[CR]breezeDark\f[R], \f[CR]espresso\f[R], \f[CR]zenburn\f[R], \f[CR]haddock\f[R], and \f[CR]tango\f[R]. For more information on syntax highlighting in pandoc, see Syntax highlighting, below. See also \f[CR]\-\-list\-highlight\-styles\f[R].-.RS .PP Instead of a \f[I]STYLE\f[R] name, a JSON file with extension \f[CR].theme\f[R] may be supplied.@@ -966,10 +988,28 @@ \f[CR]\-\-print\-highlight\-style\f[R]. .RE .TP+\f[CR]\-\-no\-highlight\f[R]+\f[I]Deprecated, use \f[CI]\-\-syntax\-highlighting=none\f[I]+instead.\f[R]+.RS+.PP+Disables syntax highlighting for code blocks and inlines, even when a+language attribute is given.+.RE+.TP+\f[CR]\-\-highlight\-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R]+\f[I]Deprecated, use+\f[CI]\-\-syntax\-highlighting=\f[I]\f[R]STYLE\f[I]|\f[R]FILE\f[I]+instead.\f[R]+.RS+.PP+Specifies the coloring style to be used in highlighted source code.+.RE+.TP \f[CR]\-\-print\-highlight\-style=\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R] Prints a JSON version of a highlighting style, which can be modified, saved with a \f[CR].theme\f[R] extension, and used with-\f[CR]\-\-highlight\-style\f[R].+\f[CR]\-\-syntax\-highlighting\f[R]. This option may be used with \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] to redirect output to a file, but \f[CR]\-o\f[R]/\f[CR]\-\-output\f[R] must come before \f[CR]\-\-print\-highlight\-style\f[R] on the command line.@@ -1191,11 +1231,16 @@ Currently this feature only affects HTML and Docx output. .TP \f[CR]\-\-listings[=true|false]\f[R]+*Deprecated, use \f[CR]\-\-syntax\-highlighting=idiomatic\f[R] or+\f[CR]\-\-syntax\-highlighting=default\f[R] instead.+.RS+.PP Use the \f[CR]listings\f[R] package for LaTeX code blocks. The package does not support multi\-byte encoding for source code. To handle UTF\-8 you would need to use a custom template. This issue is fully documented here: Encoding issue with the listings package.+.RE .TP \f[CR]\-i\f[R], \f[CR]\-\-incremental[=true|false]\f[R] Make list items in slide shows display incrementally (one by one).@@ -1794,6 +1839,7 @@ 92 PandocUTF8DecodingError 93 PandocIpynbDecodingError 94 PandocUnsupportedCharsetError+ 95 PandocInputNotTextError 97 PandocCouldNotFindDataFileError 98 PandocCouldNotFindMetadataFileError 99 PandocResourceNotFound@@ -2004,9 +2050,9 @@ \-\-strip\-comments strip\-comments: true - \-\-no\-highlight highlight\-style: null + \-\-no\-highlight syntax\-highlighting: \(aqnone\(aq - \-\-highlight\-style kate highlight\-style: kate + \-\-syntax\-highlighting kate syntax\-highlighting: kate \-\-syntax\-definition mylang.xml syntax\-definitions: \- mylang.xml @@ -2639,7 +2685,6 @@ \- Peter Abelard \&... .EE-.PP Note that if you just want to set PDF or HTML metadata, without including a title block in the document itself, you can set the \f[CR]title\-meta\f[R], \f[CR]author\-meta\f[R], and@@ -2659,7 +2704,7 @@ documents .TP \f[CR]abstract\-title\f[R]-title of abstract, currently used only in HTML, EPUB, and docx.+title of abstract, currently used only in HTML, EPUB, docx, and Typst. This will be set automatically to a localized value, depending on \f[CR]lang\f[R], but can be manually overridden. .TP@@ -2711,7 +2756,6 @@ using LaTeX (through \f[CR]babel\f[R] and \f[CR]polyglossia\f[R]) or ConTeXt. .RS-.PP Use native pandoc Divs and Spans with the \f[CR]lang\f[R] attribute to switch the language: .IP@@ -2734,7 +2778,6 @@ the base script direction, either \f[CR]rtl\f[R] (right\-to\-left) or \f[CR]ltr\f[R] (left\-to\-right). .RS-.PP For bidirectional documents, native pandoc \f[CR]span\f[R]s and \f[CR]div\f[R]s with the \f[CR]dir\f[R] attribute (value \f[CR]rtl\f[R] or \f[CR]ltr\f[R]) can be used to override the base direction in some@@ -2742,7 +2785,6 @@ This may not always be necessary if the final renderer (e.g.\ the browser, when generating HTML) supports the Unicode Bidirectional Algorithm.-.PP When using LaTeX for bidirectional documents, only the \f[CR]xelatex\f[R] engine is fully supported (use \f[CR]\-\-pdf\-engine=xelatex\f[R]).@@ -3103,7 +3145,6 @@ \- \(dqNotoColorEmoji:mode=harf\(dq \&... .EE-.PP Font fallbacks currently only work with \f[CR]lualatex\f[R]. .RE .TP@@ -3181,6 +3222,16 @@ .TP \f[CR]natbiboptions\f[R] list of options for natbib+.SS Other+.TP+\f[CR]pdf\-trailer\-id\f[R]+the PDF trailer ID; must be two PDF byte strings if set, conventionally+with 16 bytes each.+E.g.,+\f[CR]<00112233445566778899aabbccddeeff> <00112233445566778899aabbccddeeff>\f[R].+.RS+See the section on reproducible builds.+.RE .SS Variables for ConTeXt Pandoc uses these variables when creating a PDF with ConTeXt. .TP@@ -3345,6 +3396,19 @@ .TP \f[CR]columns\f[R] Number of columns for body text.+.TP+\f[CR]thanks\f[R]+contents of acknowledgments footnote after document title+.TP+\f[CR]mathfont\f[R], \f[CR]codefont\f[R]+Name of system font to use for math and code, respectively.+.TP+\f[CR]linestretch\f[R]+adjusts line spacing, e.g.\ \f[CR]1.25\f[R], \f[CR]1.5\f[R]+.TP+\f[CR]linkcolor\f[R], \f[CR]filecolor\f[R], \f[CR]citecolor\f[R]+color for external links, internal links, and citation links,+respectively: expects a hexadecimal color code .SS Variables for ms .TP \f[CR]fontfamily\f[R]@@ -3421,10 +3485,8 @@ (stdin) $endif$ .EE-.PP Similarly, \f[CR]outputfile\f[R] can be \f[CR]\-\f[R] if output goes to the terminal.-.PP If you need absolute paths, use e.g.\ \f[CR]$curdir$/$sourcefile$\f[R]. .RE .TP@@ -3485,7 +3547,7 @@ .TP output formats \f[CR]markdown\f[R], \f[CR]latex\f[R], \f[CR]context\f[R],-\f[CR]rst\f[R]+\f[CR]org\f[R], \f[CR]rst\f[R] .TP enabled by default in \f[CR]markdown\f[R], \f[CR]latex\f[R], \f[CR]context\f[R] (both input@@ -3831,6 +3893,19 @@ Tables (TABLE) instead of the default Extreme Tables (xtables). Natural tables allow more fine\-grained global customization but come at a performance penalty compared to extreme tables.+.SS Extension: \f[CR]smart_quotes\f[R] (org)+Interpret straight quotes as curly quotes during parsing.+When \f[I]writing\f[R] Org, then the \f[CR]smart_quotes\f[R] extension+has the reverse effect: what would have been curly quotes comes out+straight.+.PP+This extension is implied if \f[CR]smart\f[R] is enabled.+.SS Extension: \f[CR]special_strings\f[R] (org)+Interpret \f[CR]\-\-\-\f[R] as em\-dashes, \f[CR]\-\-\f[R] as+en\-dashes, \f[CR]\(rs\-\f[R] as shy hyphen, and \f[CR]...\f[R] as+ellipses.+.PP+This extension is implied if \f[CR]smart\f[R] is enabled. .SS Extension: \f[CR]tagging\f[R] Enabling this extension with \f[CR]context\f[R] output will produce markup suitable for the production of tagged PDFs.@@ -4227,8 +4302,10 @@ input contains class attribute(s) for the code block, the first class attribute will be printed after the opening fence as a bare word. .PP-To prevent all highlighting, use the \f[CR]\-\-no\-highlight\f[R] flag.-To set the highlighting style, use \f[CR]\-\-highlight\-style\f[R].+To prevent all highlighting, use the+\f[CR]\-\-syntax\-highlighting=none\f[R] option.+To set the highlighting style or method, use+\f[CR]\-\-syntax\-highlighting\f[R]. For more information on highlighting, see Syntax highlighting, below. .SS Line blocks .SS Extension: \f[CR]line_blocks\f[R]@@ -4515,9 +4592,6 @@ .EE .PP Note that space between items in a definition list is required.-(A variant that loosens this requirement, but disallows \(lqlazy\(rq-hard wrapping, can be activated with the-\f[CR]compact_definition_lists\f[R] extension.) .SS Numbered example lists .SS Extension: \f[CR]example_lists\f[R] The special list marker \f[CR]\(at\f[R] can be used for sequentially@@ -5748,6 +5822,12 @@ Some output formats (e.g.\ RTF) do not yet support figures. In those formats, you\(cqll just get an image in a paragraph by itself, with no caption.+For LaTeX output, you can specify a figure\(cqs positioning by adding+the \f[CR]latex\-placement\f[R] attribute.+.IP+.EX+{latex\-placement=\(dqht\(dq}+.EE .PP If you just want a regular inline image, just make sure it is not the only thing in the paragraph.@@ -6255,20 +6335,6 @@ Parses MultiMarkdown\-style heading identifiers (in square brackets, after the heading but before any trailing \f[CR]#\f[R]s in an ATX heading).-.SS Extension: \f[CR]compact_definition_lists\f[R]-Activates the definition list syntax of pandoc 1.12.x and earlier.-This syntax differs from the one described above under Definition lists-in several respects:-.IP \(bu 2-No blank line is required between consecutive items of the definition-list.-.IP \(bu 2-To get a \(lqtight\(rq or \(lqcompact\(rq list, omit space between-consecutive items; the space between a term and its definition does not-affect anything.-.IP \(bu 2-Lazy wrapping of paragraphs is not allowed: the entire definition must-be indented four spaces. .SS Extension: \f[CR]gutenberg\f[R] Use Project Gutenberg conventions for \f[CR]plain\f[R] output: all\-caps for strong emphasis, surround by underscores for regular emphasis, add@@ -6706,7 +6772,6 @@ (For backwards compatibility, \f[CR]locale\f[R] may be used instead of \f[CR]lang\f[R], but this use is deprecated.) .RS-.PP A BCP 47 language tag is expected: for example, \f[CR]en\f[R], \f[CR]de\f[R], \f[CR]en\-US\f[R], \f[CR]fr\-CA\f[R], \f[CR]ug\-Cyrl\f[R].@@ -7615,7 +7680,7 @@ \f[CR]pandoc \-\-list\-highlight\-languages\f[R]. .PP The color scheme can be selected using the-\f[CR]\-\-highlight\-style\f[R] option.+\f[CR]\-\-syntax\-highlighting\f[R] option. The default color scheme is \f[CR]pygments\f[R], which imitates the default color scheme used by the Python library pygments (though pygments is not actually used to do the highlighting).@@ -7625,7 +7690,7 @@ If you are not satisfied with the predefined styles, you can use \f[CR]\-\-print\-highlight\-style\f[R] to generate a JSON \f[CR].theme\f[R] file which can be modified and used as the argument to-\f[CR]\-\-highlight\-style\f[R].+\f[CR]\-\-syntax\-highlighting\f[R]. To get a JSON version of the \f[CR]pygments\f[R] style, for example: .IP .EX@@ -7635,7 +7700,7 @@ Then edit \f[CR]my.theme\f[R] and use it like this: .IP .EX-pandoc \-\-highlight\-style my.theme+pandoc \-\-syntax\-highlighting my.theme .EE .PP If you are not satisfied with the built\-in highlighting, or you want to@@ -7649,7 +7714,7 @@ theme\(rq, check that the JSON file is encoded with UTF\-8 and has no Byte\-Order Mark (BOM). .PP-To disable highlighting, use the \f[CR]\-\-no\-highlight\f[R] option.+To disable highlighting, use \f[CR]\-\-syntax\-highlighting=none\f[R]. .SH CUSTOM STYLES Custom styles can be used in the docx, odt and ICML formats. .SS Output@@ -7810,6 +7875,11 @@ \f[CR]SOURCE_DATE_EPOCH\f[R] should contain an integer unix timestamp (specifying the number of seconds since midnight UTC January 1, 1970). .PP+For reproducible builds with LaTeX, you can either specify the+\f[CR]pdf\-trailer\-id\f[R] in the metadata or leave it undefined, in+which case pandoc will create a trailer\-id based on a hash of the+\f[CR]SOURCE_DATE_EPOCH\f[R] and the document\(cqs contents.+.PP Some document formats also include a unique identifier. For EPUB, this can be set explicitly by setting the \f[CR]identifier\f[R] metadata field (see EPUB Metadata, above).@@ -7865,7 +7935,7 @@ The feature is experimental and standard compliance should not be assumed. .SS Prince XML-The non\-free HTML\-to\-PDf converter \f[CR]prince\f[R] has extensive+The non\-free HTML\-to\-PDF converter \f[CR]prince\f[R] has extensive support for various PDF standards as well as tagging. E.g.: .IP
pandoc-cli.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: pandoc-cli-version: 3.7.0.2+version: 3.8 build-type: Simple license: GPL-2.0-or-later license-file: COPYING.md@@ -70,7 +70,7 @@ buildable: True -- Note: we always link to an exact version of pandoc, with the -- same version as this package:- build-depends: pandoc == 3.7.0.2,+ build-depends: pandoc == 3.8, text other-modules: PandocCLI.Lua , PandocCLI.Server@@ -79,7 +79,7 @@ build-depends: template-haskell, time if flag(server)- build-depends: pandoc-server >= 0.1.0.9 && < 0.2,+ build-depends: pandoc-server >= 0.1.1 && < 0.2, wai-extra >= 3.0.24, warp, safe@@ -89,7 +89,7 @@ if flag(lua) build-depends: hslua-cli >= 1.4.1 && < 1.5,- pandoc-lua-engine >= 0.4.3 && < 0.5,+ pandoc-lua-engine >= 0.5 && < 0.6, temporary >= 1.1 && < 1.4 hs-source-dirs: lua else
src/pandoc.hs view
@@ -16,17 +16,12 @@ import qualified Control.Exception as E import System.Environment (getArgs, getProgName) import Text.Pandoc.App ( convertWithOpts, defaultOpts, options- , parseOptionsFromArgs, handleOptInfo )+ , parseOptionsFromArgs, handleOptInfo, versionInfo ) import Text.Pandoc.Error (handleError)-import System.Exit (exitSuccess) import Data.Monoid (Any(..)) import PandocCLI.Lua import PandocCLI.Server-import qualified Text.Pandoc.UTF8 as UTF8-import Text.Pandoc.Version (pandocVersion)-import Text.Pandoc.Data (defaultUserDataDir) import Text.Pandoc.Scripting (ScriptingEngine(..))-import Data.Version (showVersion) import qualified Data.Text as T #ifdef NIGHTLY@@ -51,7 +46,7 @@ let hasVersion = getAny $ foldMap (\s -> Any (s == "-v" || s == "--version")) (takeWhile (/= "--") rawArgs)- let versionOr action = if hasVersion then versionInfo else action+ let versionOr action = if hasVersion then versionInfoCLI else action case prg of "pandoc-server.cgi" -> versionOr runCGI "pandoc-server" -> versionOr $ runServer rawArgs@@ -67,38 +62,25 @@ Left e -> handleOptInfo engine e Right opts -> convertWithOpts engine opts -copyrightMessage :: String-copyrightMessage =- "Copyright (C) 2006-2024 John MacFarlane. Web: https://pandoc.org\n"- ++- "This is free software; see the source for copying conditions. There is no\n"- ++- "warranty, not even for merchantability or fitness for a particular purpose." -flagSettings :: String-flagSettings = "Features: " +++getFeatures :: [String]+getFeatures = [ #ifdef VERSION_pandoc_server "+server" #else "-server" #endif- ++ " " +++ , #ifdef VERSION_hslua_cli "+lua" #else "-lua" #endif+ ] -versionInfo :: IO ()-versionInfo = do- progname <- getProgName- defaultDatadir <- defaultUserDataDir+versionInfoCLI :: IO ()+versionInfoCLI = do scriptingEngine <- getEngine- UTF8.putStr $ T.unlines $ map T.pack- [ progname ++ " " ++ showVersion pandocVersion ++ versionSuffix- , flagSettings- , "Scripting engine: " ++ T.unpack (engineName scriptingEngine)- , "User data directory: " ++ defaultDatadir- , copyrightMessage- ]- exitSuccess+ versionInfo getFeatures+ (Just $ T.unpack (engineName scriptingEngine))+ versionSuffix