summaryrefslogtreecommitdiff
path: root/lualibs.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lualibs.lua')
-rw-r--r--lualibs.lua118
1 files changed, 71 insertions, 47 deletions
diff --git a/lualibs.lua b/lualibs.lua
index cf9b039..f126fb7 100644
--- a/lualibs.lua
+++ b/lualibs.lua
@@ -1,54 +1,78 @@
---
-- This is file `lualibs.lua',
--- generated with the docstrip utility.
---
--- The original source files were:
---
--- lualibs.dtx (with options: `lua')
--- This is a generated file.
---
--- Copyright (C) 2009 by PRAGMA ADE / ConTeXt Development Team
---
--- See ConTeXt's mreadme.pdf for the license.
---
--- This work consists of the main source file lualibs.dtx
--- and the derived file lualibs.lua.
---
module('lualibs', package.seeall)
local lualibs_module = {
- name = "lualibs",
- version = 0.97,
- date = "2012/10/19",
- description = "Lua additional functions.",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "See ConTeXt's mreadme.pdf for the license",
+ name = "lualibs",
+ version = 1.01,
+ date = "2013/04/10",
+ description = "Lua additional functions.",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "See ConTeXt's mreadme.pdf for the license",
}
-if luatexbase and luatexbase.provides_module then
- luatexbase.provides_module(lualibs_module)
+_G.config = _G.config or { }
+_G.config.lualibs = _G.config.lualibs or { }
+local lualibs = _G.config.lualibs
+
+if lualibs.prefer_merged == nil then lualibs.prefer_merged = true end
+if lualibs.load_extended == nil then lualibs.load_extended = true end
+lualibs.verbose = lualibs.verbose == true or false
+
+local lpeg, kpse = lpeg, kpse
+
+local dofile = dofile
+local lpegmatch = lpeg.match
+local stringformat = string.format
+
+local find_file, error, warn, info
+do
+ local _error, _warn, _info
+ if luatexbase and luatexbase.provides_module then
+ _error, _warn, _info = luatexbase.provides_module(lualibs_module)
+ else
+ _error, _warn, _info = texio.write_nl, texio.write_nl, texio.write_nl -- stub
+ end
+
+ -- if lualibs.verbose then
+ if lualibs.verbose then
+ error, warn, info = _error, _warn, _info
+ else
+ local dummylogger = function ( ) end
+ error, warn, info = _error, dummylogger, dummylogger
+ end
+ lualibs.error, lualibs.warn, lualibs.info = error, warn, info
+end
+
+if luatexbase and luatexbase.find_file then
+ find_file = luatexbase.find_file
+else
+ kpse.set_program_name"luatex"
+ find_file = kpse.find_file
end
-require("lualibs-string")
-require("lualibs-lpeg")
-require("lualibs-boolean")
-require("lualibs-number")
-require("lualibs-math")
-require("lualibs-table")
-require("lualibs-io")
-require("lualibs-os")
-require("lualibs-file")
-require("lualibs-md5")
-require("lualibs-dir")
-require("lualibs-unicode")
-require("lualibs-url")
-require("lualibs-set")
-require("lualibs-util-lua")
-require("lualibs-util-sto")
-require("lualibs-util-mrg")
-require("lualibs-util-dim")
-require("lualibs-util-str")
-require("lualibs-util-tab")
-require("lualibs-util-jsn")
---
--- End of File `lualibs.lua'.
+
+loadmodule = _G.loadmodule or function (name, t)
+ if not t then t = "library" end
+ local filepath = kpse.find_file(name, "lua")
+ if not filepath or filepath == "" then
+ warn(stringformat("Could not locate %s “%s”.", t, name))
+ return false
+ end
+ dofile(filepath)
+ return true
+end
+lualibs.loadmodule = loadmodule
+
+--[[doc--
+The separation of the “basic” from the “extended” sets coincides with
+the split into luat-bas.mkiv and luat-lib.mkiv.
+--doc]]--
+loadmodule"lualibs-basic.lua"
+loadmodule"lualibs-compat.lua" --- restore stuff gone since v1.*
+
+if load_extended == true then
+ loadmodule"lualibs-extended.lua"
+end
+
+-- vim:tw=71:sw=2:ts=2:expandtab
+-- End of File `lualibs-basic.lua'.