summaryrefslogtreecommitdiff
path: root/scripts/context/lua/mtx-interface.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2010-12-02 13:20:14 +0200
committerMarius <mariausol@gmail.com>2010-12-02 13:20:14 +0200
commit2e0934d99d3af014bd95c68d52f2d24816a11b8c (patch)
tree79abe1e3bc4e1e9c9e30c60e2959be30a36c90ed /scripts/context/lua/mtx-interface.lua
parentea81b65e2773bb6b0bdc9fea03df294e0bbd49a7 (diff)
downloadcontext-2e0934d99d3af014bd95c68d52f2d24816a11b8c.tar.gz
beta 2010.12.02 12:05
Diffstat (limited to 'scripts/context/lua/mtx-interface.lua')
-rw-r--r--scripts/context/lua/mtx-interface.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/context/lua/mtx-interface.lua b/scripts/context/lua/mtx-interface.lua
index ed0792d32..9659dce90 100644
--- a/scripts/context/lua/mtx-interface.lua
+++ b/scripts/context/lua/mtx-interface.lua
@@ -300,6 +300,24 @@ function scripts.interface.context()
end
end
+function scripts.interface.preprocess()
+ require("luat-mac.lua")
+ local newsuffix = environment.argument("suffix") or "tex"
+ local force = environment.argument("force")
+ for i=1,#environment.files do
+ local oldname = environment.files[i]
+ local newname = file.replacesuffix(oldname,newsuffix)
+ if oldname == newname then
+ logs.simple("skipping '%s' because old and new name are the same",oldname)
+ elseif io.exists(newname) and not force then
+ logs.simple("skipping '%s' because new file exists, use --force",oldname)
+ else
+ logs.simple("processing '%s' into '%s'",oldname,newname)
+ io.savedata(newname,resolvers.macros.preprocessed(io.loaddata(oldname)))
+ end
+ end
+end
+
function scripts.interface.messages()
local filename = resolvers.findfile(environment.files[1] or "mult-mes.lua") or ""
if filename ~= "" then
@@ -338,6 +356,9 @@ messages.help = [[
--raw report commands to the console
--check generate check file
--context generate context definition files
+--preprocess preprocess mkvi files to tex files [force,suffix]
+--suffix use given suffix for output files
+--force force action even when in doubt
--messages generate context message files
]]
@@ -345,6 +366,8 @@ local ea = environment.argument
if ea("context") then
scripts.interface.context()
+elseif ea("preprocess") then
+ scripts.interface.preprocess()
elseif ea("messages") then
scripts.interface.messages()
elseif ea("scite") or ea("bbedit") or ea("jedit") or ea("textpad") or ea("text") or ea("raw") then