diff options
author | Hans Hagen <pragma@wxs.nl> | 2011-02-01 22:02:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2011-02-01 22:02:00 +0100 |
commit | 0667359a3ffe041c89f14a0e6a713bb9dd5acb43 (patch) | |
tree | 6c37c1873aff932fbbd8839cea2e7d12f5049e72 /tex/context/base/data-lst.lua | |
parent | db041f9c17c781e6fb4badbe31ff855f66f20a4f (diff) | |
download | context-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.lua | 28 |
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 |