diff options
Diffstat (limited to 'tex/context/base/mkiv/cldf-ini.lua')
-rw-r--r-- | tex/context/base/mkiv/cldf-ini.lua | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua index 7e6af8072..24092d852 100644 --- a/tex/context/base/mkiv/cldf-ini.lua +++ b/tex/context/base/mkiv/cldf-ini.lua @@ -368,11 +368,13 @@ end -- interfaces.scanners.foo = function() context("[%s]",tokens.scanners.string()) end : \scan_foo -local storedscanners = interfaces.storedscanners or { } -local interfacescanners = { } -local privatenamespace = "clf_" +local storedscanners = interfaces.storedscanners or { } +local namesofscanners = interfaces.namesofscanners or { } +local interfacescanners = { } +local privatenamespace = "clf_" -interfaces.storedscanners = storedscanners +interfaces.storedscanners = storedscanners +interfaces.namesofscanners = namesofscanners storage.register("interfaces/storedscanners", storedscanners, "interfaces.storedscanners") @@ -381,6 +383,7 @@ local function registerscanner(name,action,protected,public,usage) -- todo: comb local n = storedscanners[name] n = registerfunction("interfaces.scanners."..name,true,n) storedscanners[name] = n + namesofscanners[n] = name name = public and name or (privatenamespace .. name) -- print(">>",name,protected and "protected" or "",usage or "macro") setluatoken(name,n,"global",protected and "protected" or "",usage or "macro") @@ -392,6 +395,20 @@ function interfaces.knownscanner(name) return interfacescanners[name] end +function interfaces.nameofscanner(slot) + return namesofscanners[slot] or slot +end + +if CONTEXTLMTXMODE > 0 then + + callback.register("show_lua_call", function(what, slot) + local name = namesofscanners[slot] + -- return name and formatters["%s: \\%s, slot: %i"](what,name,slot) or "" + return name and formatters["%s \\%s"](what,name) or "" + end) + +end + setmetatablenewindex(interfacescanners, function(t,k,v) report_cld("don't register scanner %a directly",k) -- registerscanner(k,v) |