lunarmodules/ldoc
概述
经过初步研究,疑似无法直接将两者(ldoc、EmmyLua)结合使用。
环境
- Windows 11
- Lua for Windows (5.1.5)
- ldoc 1.5.0
步骤
- 克隆仓库
https://github.com/lunarmodules/ldoc.git
到d:/ldoc
- 在 ldoc.lua 所在目录下打开控制台
- 输入
lua ldoc.lua "D:\你的Lua代码路径"
- 生成的文档将在控制台的运行根目录,本例中为 ldoc.lua 同级目录
doc
- 打开
doc/index.html
查看文档
问题
报错: ‘class’ cannot have multiple values
togglecomponent.lua:7: ?: 'class' cannot have multiple values; {ToggleComponent : Object,module}
使用 dingshukai/lua-oop 框架的情况下报错。
错误代码:
1 | ---@class ToggleComponent : Object |
经过对ldoc文档的阅读,发现ldoc疑似不支持现在正在VSCode和Jetbrain中流行的lua注释语法(基于EmmyLua)。
@class
是EmmyLua提供的注释语法,但不被ldoc支持。
类似的,像 ---@param p1 number
这样的语法也不能被正确解读,在ldoc中, @param
指代的是没有指定数据类型的参数。
如果要指定参数类型,需要使用 @int
等直接指定类型的标签。
想要同时使用EmmyLua和ldoc似乎是不可能的。
参考
- 本文作者: 懒鬼
- 本文链接: https://lazyknight.com/2024/04/05/ldoc/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!