diff options
author | Hans Hagen <pragma@wxs.nl> | 2011-07-13 20:14:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2011-07-13 20:14:00 +0200 |
commit | d6b1bbb30b5d03582599faf4132630d46275bb97 (patch) | |
tree | 8ef0cfe83b7369857f3f5e3e88b6bb5edf023170 /tex/context/base/file-syn.lua | |
parent | 850a7b29bba45111582a15b674f40f68fbd7ab5e (diff) | |
download | context-d6b1bbb30b5d03582599faf4132630d46275bb97.tar.gz |
beta 2011.07.13 20:14
Diffstat (limited to 'tex/context/base/file-syn.lua')
-rw-r--r-- | tex/context/base/file-syn.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tex/context/base/file-syn.lua b/tex/context/base/file-syn.lua new file mode 100644 index 000000000..df431f49b --- /dev/null +++ b/tex/context/base/file-syn.lua @@ -0,0 +1,46 @@ +if not modules then modules = { } end modules ['file-syn'] = { + version = 1.001, + comment = "companion to file-syn.mkvi", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local report_files = logs.reporter("files") + +environment.filesynonyms = environment.filesynonyms or { } +local filesynonyms = environment.filesynonyms + +storage.register("environment/filesynonyms", filesynonyms, "environment.filesynonyms") + +local function truefilename(name) + local realname = filesynonyms[name] or name + if realname ~= name then + return truefilename(realname) + else + return realname + end +end + +function commands.truefilename(name) + context(truefilename(name)) +end + +function commands.definefilesynonym(name,realname) + local synonym = filesynonyms[name] + if synonym then + interfaces.showmessage("files",1,name,realname,synonym) + end + filesynonyms[name] = realname +end + +function commands.definefilefallback(name,alternatives) + local names = utilities.parser.settings_to_array(alternatives) + for i=1,#names do + local realname = resolvers.findfile(names[i]) + if realname ~= "" then + filesynonyms[name] = realname + break + end + end +end |