Модул:debug/док
Ово је документациона подстраница за Модул:debug
This module is used to debug templates and other modules, and to help track down problems or incorrect usage.
dump
[уреди]dump(value)
Converts any value (except for functions) into a string representation. The string is formatted as Lua syntax, so you should be able to take the output of this function and insert it back into a Lua module. Tables are processed recursively. Tabs are converted into spaces.
highlight_dump
[уреди]highlight_dump(value)
Does the same as dump
, except it adds Lua syntax highlighting, and tabs are preserved.
error
[уреди]{{#invoke:debug|error|message}}
This function is invoked from templates, and simply triggers a script error with a message. This is useful if you want to trigger a script error but don't have the time or knowledge to convert a template to Lua.
track
[уреди]track(key)
Convenience function which transcludes a tracking subtemplate. The key
is a string or a list of strings: track("key")
or track{ "key1", "key2", "key3", ... }
.
Usually invocations of this functions should look like this: require('Module:debug').track(key)
. Loading this module on the spot instead of ahead of time may prevent unnecessary transclusion list overload.
highlight
[уреди]This function creates the equivalent of a <source>
or <syntaxhighlight>
tag using the frame:extensionTag()
function. Depending on the arguments, it behaves in two different ways:
highlight(content, options)
Highlight the given content (which should be a string) using the table of options.
highlight(options)
Generate a highlight function that uses the given table of options. This highlight function requires a string as argument. For example, the following code generates a HTML highlighting function:
local HTML_highlight = require("Module:debug").highlight{ lang = "html" }
return HTML_highlight('<span class="Latn" lang="en">word</span>') -- returns syntax-highlighted HTML code
This is more efficient when a given set of options are used multiple times in a module.
The table of options has contain two recognized values:
{
lang = "syntax highlighting language",
inline = "boolean",
}
options.lang
defaults to "lua"
, while options.inline
defaults to nil
(meaning that the code will be formatted as a block).