使用 LDoc 文档化函数表

ldoc 可以很快的文档化一个函数,比如

--- Foo function
-- does a foo
function foo(param1, param2)
end

然而,我想文档化一个函数指针表格。比如

--- bar.lua ---
bar = {
   foo = function(a, b, c)
   end
}

return bar

--- foo.lua ---
local bar = require "bar"

fooapi {
    foo = bar.foo
}

我希望用 fooapi 这个导出的 API 来文档化,来隐藏具体实现的文件名和函数名。我需要它出现在 fooapi 相关的文档中,不希望在输出中看到 bar.lua 或者 bar.foo 这些名字。

如果我在 foo = bar.foo 行下面添加一些注释并在 fooapi table 前面添加注释,那么生成的文档中会将它看作是一个普通的 table 字段而不是一个函数。

有没有办法覆盖这种行为,让 Ldoc 生成带有参数 a, b, c 的 function fooapi.foo 这样的输出?

我希望能够定义一些未展示的参数并将其类型覆盖为一个带有嵌套的函数名的函数,而不是普通的 table 字段。需要注意的是,函数嵌套可能会深入几层,在导出的 API 中。

如果需要的话,我可以重构代码。或者甚至切换到一个更不同或更灵活的工具。实际上,我并不介意它是否只是从代码中提取出一些特殊的注释,而不是生成完全由这些注释组成的文档。

点赞
用户2805065
用户2805065

这个函数是用来 Foos 的。

它执行的是 fooapi 中的 foo 任务。

@param boolean a AAAAAAAAAAAAAAAAAAAAAAAAA.

@param number b bBbBbB。

@param string c Lorem ipsum sit dolor amet。

@function fooapi.foo

使用明确的标签,一切就都好了!

2017-04-05 20:22:23