使用LDoc来记录函数表

时间:2016-09-08 00:35:54

标签: lua

ldoc很乐意记录像

这样的函数
--- Foo function
-- does a foo
function foo(param1, param2)
end

但是,我想做的是让它记录一个函数指针表。

e.g。

--- 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表之前添加注释,那么结果文档将其列为普通的表字段而不是实际的函数。

是否有办法覆盖此行为,以便ldoc生成类似function fooapi.foo with parameters a,b,c的输出?

我希望告诉它有关未显示的参数,并以某种方式覆盖它的类型,使其成为一个函数,其名称覆盖以包含表中的嵌套而不仅仅是普通的表字段?请注意,函数的嵌套可以在公开的API中深入几层。

如果需要,我愿意重组代码。甚至可以切换到更加不同或更灵活的工具。事实上,我不介意它是否从lua代码中提取任何信息,而只是完全从代码中的特殊注释生成代码。

1 个答案:

答案 0 :(得分:1)

使用显式标签,你很高兴!

--- Function that Foos.
-- Does the foo things of fooapi.
-- @function fooapi.foo
-- 
-- @tparam boolean a AAAAAAAAAAAAAAAAAAAAAAAAA.
-- @tparam number b bBbBbB.
-- @tparam string c Lorem ipsum sit dolor amet.