Модул: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).