summaryrefslogtreecommitdiff
path: root/tex/context/base/data-lst.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-02-01 22:02:00 +0100
committerHans Hagen <pragma@wxs.nl>2011-02-01 22:02:00 +0100
commit0667359a3ffe041c89f14a0e6a713bb9dd5acb43 (patch)
tree6c37c1873aff932fbbd8839cea2e7d12f5049e72 /tex/context/base/data-lst.lua
parentdb041f9c17c781e6fb4badbe31ff855f66f20a4f (diff)
downloadcontext-0667359a3ffe041c89f14a0e6a713bb9dd5acb43.tar.gz
beta 2011.02.01 22:02
Diffstat (limited to 'tex/context/base/data-lst.lua')
-rw-r--r--tex/context/base/data-lst.lua28
1 files changed, 26 insertions, 2 deletions
diff --git a/tex/context/base/data-lst.lua b/tex/context/base/data-lst.lua
index f1463fb45..c84853e81 100644
--- a/tex/context/base/data-lst.lua
+++ b/tex/context/base/data-lst.lua
@@ -27,12 +27,36 @@ local function list(list,report,pattern)
local instance = resolvers.instance
local report = report or texio.write_nl
local sorted = table.sortedkeys(list)
+ local result = { }
for i=1,#sorted do
local key = sorted[i]
- if pattern == "" or find(upper(key),pattern) then
- report(format('%s %s=%s',instance.origins[key] or "---",key,tabstr(list[key])))
+ if key ~= "" and (pattern == "" or find(upper(key),pattern)) then
+ local raw = tabstr(rawget(list,key))
+ local val = tabstr(list[key])
+ local res = resolvers.resolve(val)
+ if raw and raw ~= "" then
+ if raw == val then
+ if val == res then
+ result[#result+1] = { key, raw }
+ else
+ result[#result+1] = { key, format('%s => %s',raw,res) }
+ end
+ else
+ if val == res then
+ result[#result+1] = { key, format('%s => %s',raw,val) }
+ else
+ result[#result+1] = { key, format('%s => %s => %s',raw,val,res) }
+ end
+ end
+ else
+ result[#result+1] = { key, "unset" }
+ end
end
end
+ utilities.formatters.formatcolumns(result)
+ for i=1,#result do
+ report(result[i])
+ end
end
function resolvers.listers.variables (report,pattern) list(resolvers.instance.variables, report,pattern) end