summaryrefslogtreecommitdiff
path: root/scripts/context/lua/mtx-context.lua
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/context/lua/mtx-context.lua')
-rw-r--r--scripts/context/lua/mtx-context.lua260
1 files changed, 186 insertions, 74 deletions
diff --git a/scripts/context/lua/mtx-context.lua b/scripts/context/lua/mtx-context.lua
index d06b60b77..ad25b52ce 100644
--- a/scripts/context/lua/mtx-context.lua
+++ b/scripts/context/lua/mtx-context.lua
@@ -19,85 +19,195 @@ local lpegpatterns, lpegmatch, Cs, P = lpeg.patterns, lpeg.match, lpeg.Cs, lpeg.
local getargument = environment.getargument or environment.argument
local setargument = environment.setargument
-local basicinfo = [[
---run process (one or more) files (default action)
---make create context formats
-
---ctx=name use ctx file (process management specification)
---interface use specified user interface (default: en)
-
---autopdf close pdf file in viewer and start pdf viewer afterwards
---purge(all) purge files either or not after a run (--pattern=...)
-
---usemodule=list load the given module or style, normally part o fthe distribution
---environment=list load the given environment file first (document styles)
---mode=list enable given the modes (conditional processing in styles)
---path=list also consult the given paths when files are looked for
---arguments=list set variables that can be consulted during a run (key/value pairs)
---randomseed=number set the randomseed
---result=name rename the resulting output to the given name
---trackers=list set tracker variables (show list with --showtrackers)
---directives=list set directive variables (show list with --showdirectives)
---silent=list disable logcatgories (show list with --showlogcategories)
---noconsole disable logging to the console (logfile only)
---purgeresult purge result file before run
-
---forcexml force xml stub
---forcecld force cld (context lua document) stub
---forcelua force lua stub (like texlua)
---forcemp force mp stub
-
---arrange run extra imposition pass, given that the style sets up imposition
---noarrange ignore imposition specifications in the style
-
---jit use luajittex with jit turned off (only use the faster virtual machine)
---jiton use luajittex with jit turned on (in most cases not faster, even slower)
-
---once only run once (no multipass data file is produced)
---batchmode run without stopping and don't show messages on the console
---nonstopmode run without stopping
-
---generate generate file database etc. (as luatools does)
---paranoid don't descend to .. and ../..
---version report installed context version
-
---global assume given file present elsewhere
---nofile use dummy file as jobname
-
---expert expert options
-]]
-
-local expertinfo = [[
-expert options:
-
---touch update context version number (remake needed afterwards, also provide --expert)
---nostatistics omit runtime statistics at the end of the run
---update update context from website (not to be confused with contextgarden)
---profile profile job (use: mtxrun --script profile --analyze)
---timing generate timing and statistics overview
-
---extra=name process extra (mtx-context-<name> in distribution)
---extras show extras
-]]
-
-local specialinfo = [[
-special options:
-
---pdftex process file with texexec using pdftex
---xetex process file with texexec using xetex
---mkii process file with texexec
-
---pipe don't check for file and enter scroll mode (--dummyfile=whatever.tmp)
+local helpinfo = [[
+<?xml version="1.0" ?>
+<application>
+ <metadata>
+ <entry name="name">mtx-context</entry>
+ <entry name="detail">ConTeXt Process Management</entry>
+ <entry name="version">0.60</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="run">
+ <short>process (one or more) files (default action)</short>
+ </flag>
+ <flag name="make">
+ <short>create context formats</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="ctx=name">
+ <short>use ctx file (process management specification)</short>
+ </flag>
+ <flag name="interface">
+ <short>use specified user interface (default: en)</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="autopdf">
+ <short>close pdf file in viewer and start pdf viewer afterwards</short>
+ </flag>
+ <flag name="purge">
+ <short>purge files either or not after a run (<ref name="pattern"/>=...)</short>
+ </flag>
+ <flag name="purgeall">
+ <short>purge all files either or not after a run (<ref name="pattern"/>=...)</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="usemodule" value="list">
+ <short>load the given module or style, normally part of the distribution</short>
+ </flag>
+ <flag name="environment" value="list">
+ <short>load the given environment file first (document styles)</short>
+ </flag>
+ <flag name="mode" value="list">
+ <short>enable given the modes (conditional processing in styles)</short>
+ </flag>
+ <flag name="path" value="list">
+ <short>also consult the given paths when files are looked for</short>
+ </flag>
+ <flag name="arguments" value="list">
+ <short>set variables that can be consulted during a run (key/value pairs)</short>
+ </flag>
+ <flag name="randomseed" value="number">
+ <short>set the randomseed</short>
+ </flag>
+ <flag name="result" value="name">
+ <short>rename the resulting output to the given name</short>
+ </flag>
+ <flag name="trackers" value="list">
+ <short>set tracker variables (show list with <ref name="showtrackers"/>)</short>
+ </flag>
+ <flag name="directives" value="list">
+ <short>set directive variables (show list with <ref name="showdirectives"/>)</short>
+ </flag>
+ <flag name="silent" value="list">
+ <short>disable logcatgories (show list with <ref name="showlogcategories"/>)</short>
+ </flag>
+ <flag name="noconsole">
+ <short>disable logging to the console (logfile only)</short>
+ </flag>
+ <flag name="purgeresult">
+ <short>purge result file before run</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="forcexml">
+ <short>force xml stub</short>
+ </flag>
+ <flag name="forcecld">
+ <short>force cld (context lua document) stub</short>
+ </flag>
+ <flag name="forcelua">
+ <short>force lua stub (like texlua)</short>
+ </flag>
+ <flag name="forcemp">
+ <short>force mp stub</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="arrange">
+ <short>run extra imposition pass, given that the style sets up imposition</short>
+ </flag>
+ <flag name="noarrange">
+ <short>ignore imposition specifications in the style</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="jit">
+ <short>use luajittex with jit turned off (only use the faster virtual machine)</short>
+ </flag>
+ <flag name="jiton">
+ <short>use luajittex with jit turned on (in most cases not faster, even slower)</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="once">
+ <short>only run once (no multipass data file is produced)</short>
+ </flag>
+ <flag name="batchmode">
+ <short>run without stopping and do not show messages on the console</short>
+ </flag>
+ <flag name="nonstopmode">
+ <short>run without stopping</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="generate">
+ <short>generate file database etc. (as luatools does)</short>
+ </flag>
+ <flag name="paranoid">
+ <short>do not descend to .. and ../..</short>
+ </flag>
+ <flag name="version">
+ <short>report installed context version</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="global">
+ <short>assume given file present elsewhere</short>
+ </flag>
+ <flag name="nofile">
+ <short>use dummy file as jobname</short>
+ </flag>
+ </subcategory>
+ </category>
+ <category name="expert">
+ <subcategory>
+ <flag name="touch">
+ <short>update context version number (remake needed afterwards, also provide <ref name="expert"/>)</short>
+ </flag>
+ <flag name="nostatistics">
+ <short>omit runtime statistics at the end of the run</short>
+ </flag>
+ <flag name="update">
+ <short>update context from website (not to be confused with contextgarden)</short>
+ </flag>
+ <flag name="profile">
+ <short>profile job (use: mtxrun <ref name="script"/> profile <ref name="analyze"/>)</short>
+ </flag>
+ <flag name="timing">
+ <short>generate timing and statistics overview</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="extra=name">
+ <short>process extra (mtx-context-... in distribution)</short>
+ </flag>
+ <flag name="extras">
+ <short>show extras</short>
+ </flag>
+ </subcategory>
+ </category>
+ <category name="special">
+ <subcategory>
+ <flag name="pdftex">
+ <short>process file with texexec using pdftex</short>
+ </flag>
+ <flag name="xetex">
+ <short>process file with texexec using xetex</short>
+ </flag>
+ <flag name="mkii">
+ <short>process file with texexec</short>
+ </flag>
+ </subcategory>
+ <subcategory>
+ <flag name="pipe">
+ <short>do not check for file and enter scroll mode (<ref name="dummyfile"/>=whatever.tmp)</short>
+ </flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
]]
local application = logs.application {
name = "mtx-context",
banner = "ConTeXt Process Management 0.60",
- helpinfo = {
- basic = basicinfo,
- extra = extrainfo,
- expert = expertinfo,
- }
+ helpinfo = helpinfo,
}
-- local luatexflags = {
@@ -1468,6 +1578,8 @@ elseif getargument("extras") then
scripts.context.extras(environment.files[1] or getargument("extras"))
elseif getargument("extra") then
scripts.context.extra()
+elseif getargument("exporthelp") then
+ application.export(getargument("exporthelp"),environment.files[1])
elseif getargument("help") then
if environment.files[1] == "extras" then
scripts.context.extras()