From fc4466b32ed330a956ac603b00fd145524cff49a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 22 Apr 2016 22:14:39 +0000 Subject: context (22apr16) git-svn-id: svn://tug.org/texlive/trunk@40691 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/context/base/mkiv/file-ini.lua | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Master/texmf-dist/tex/context/base/mkiv/file-ini.lua (limited to 'Master/texmf-dist/tex/context/base/mkiv/file-ini.lua') diff --git a/Master/texmf-dist/tex/context/base/mkiv/file-ini.lua b/Master/texmf-dist/tex/context/base/mkiv/file-ini.lua new file mode 100644 index 00000000000..2a0271a9d80 --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mkiv/file-ini.lua @@ -0,0 +1,52 @@ +if not modules then modules = { } end modules ['file-ini'] = { + version = 1.001, + comment = "companion to file-ini.mkvi", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +--[[ldx-- +

It's more convenient to manipulate filenames (paths) in than in +. These methods have counterparts at the end.

+--ldx]]-- + + +local implement = interfaces.implement +local setmacro = interfaces.setmacro +local setcount = interfaces.setcount + +resolvers.jobs = resolvers.jobs or { } + +local filenametotable = file.nametotable +local findtexfile = resolvers.findtexfile + +local commands_doifelse = commands.doifelse + +local function splitfilename(full) + local split = filenametotable(full) + local path = split.path + setcount("splitoffkind",(path == "" and 0) or (path == '.' and 1) or 2) + setmacro("splitofffull",full or "") + setmacro("splitoffpath",path or "") + setmacro("splitoffname",split.name or "") + setmacro("splitoffbase",split.base or "") + setmacro("splitofftype",split.suffix or "") +end + +local function isparentfile(name) + return + name == environment.jobname + or name == environment.jobname .. '.tex' + or name == environment.outputfilename +end + +local function istexfile(name) + local name = name and findtexfile(name) + return name ~= "" and name +end + +implement { name = "splitfilename", actions = splitfilename, arguments = "string" } +implement { name = "doifelseparentfile", actions = { isparentfile, commands_doifelse }, arguments = "string" } +implement { name = "doifelsepathexist", actions = { lfs.isdir, commands_doifelse }, arguments = "string" } +implement { name = "doifelsefileexist", actions = { istexfile, commands_doifelse }, arguments = "string" } -- cgit v1.2.3