The documentation for builtins will now be wrapped, to prevent extremely long lines.
This commit is contained in:
parent
9a6a5b4b51
commit
f4d6e301a1
20
function.lua
20
function.lua
|
@ -186,6 +186,22 @@ local function get_docs_from_function_body (func_body)
|
||||||
return table.concat(doc_lines, '\n')
|
return table.concat(doc_lines, '\n')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function wrap_text (text, max_width)
|
||||||
|
local l, i, last_i = {}, max_width, 1
|
||||||
|
repeat
|
||||||
|
if text:sub(i, i) == ' ' then
|
||||||
|
l[#l+1], last_i, i = text:sub(last_i, i - 1), i + 1, i + max_width
|
||||||
|
elseif i <= last_i then
|
||||||
|
-- TODO: Make sure this part works.
|
||||||
|
i = text:find(' ', last_i) or #text
|
||||||
|
else
|
||||||
|
i = i - 1
|
||||||
|
end
|
||||||
|
until i >= #text
|
||||||
|
l[#l+1] = text:sub(last_i)
|
||||||
|
return table.concat(l, '\n')
|
||||||
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
local function format_function_with_closure (value, depth, l, format_value)
|
local function format_function_with_closure (value, depth, l, format_value)
|
||||||
|
@ -290,7 +306,9 @@ return function (value, depth, l, format_value)
|
||||||
|
|
||||||
if info.doc then
|
if info.doc then
|
||||||
l[#l+1] = '\n'
|
l[#l+1] = '\n'
|
||||||
l[#l+1] = add_indent_to_string(info.doc, l.options.indent .. '-- ')
|
local indent = l.options.indent .. '-- '
|
||||||
|
local docs = not info.builtin and info.doc or wrap_text(info.doc, 80 - #indent)
|
||||||
|
l[#l+1] = add_indent_to_string(docs, indent)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- source
|
-- source
|
||||||
|
|
|
@ -204,12 +204,12 @@ format_test {
|
||||||
|
|
||||||
format_test {
|
format_test {
|
||||||
input = math.random,
|
input = math.random,
|
||||||
expect = 'builtin function ([m [, n])\n -- math.random\n -- When called without arguments, returns a uniform pseudo-random real number in the range [0,1). When called with an integer number m, math.random returns a uniform pseudo-random integer in the range [1, m]. When called with two integer numbers m and n, math.random returns a uniform pseudo-random integer in the range [m, n].\n\n ...\nend',
|
expect = 'builtin function ([m [, n])\n -- math.random\n -- When called without arguments, returns a uniform pseudo-random real\n -- number in the range [0,1). When called with an integer number m,\n -- math.random returns a uniform pseudo-random integer in the range [1, m].\n -- When called with two integer numbers m and n, math.random returns a\n -- uniform pseudo-random integer in the range [m, n].\n\n ...\nend',
|
||||||
}
|
}
|
||||||
|
|
||||||
format_test {
|
format_test {
|
||||||
input = string.byte,
|
input = string.byte,
|
||||||
expect = 'builtin function (s [, i [, j]])\n -- string.byte\n -- Returns the internal numerical codes of the characters s[i], s[i+1], ..., s[j]. The default value for i is 1; the default value for j is i.\n -- Note that numerical codes are not necessarily portable across platforms.\n\n ...\nend',
|
expect = 'builtin function (s [, i [, j]])\n -- string.byte\n -- Returns the internal numerical codes of the characters s[i], s[i+1],\n -- ..., s[j]. The default value for i is 1; the default value for j is\n -- i.\n -- Note that numerical codes are not necessarily portable across\n -- platforms.\n\n ...\nend',
|
||||||
}
|
}
|
||||||
|
|
||||||
-- short_builtins option: If an builtin is expected to be available by some name
|
-- short_builtins option: If an builtin is expected to be available by some name
|
||||||
|
|
Loading…
Reference in New Issue
Block a user