ocamldoc 未正确显示参数名称或带有@param 的描述
ocamldoc not properly displaying parameter names or description with @param
简单地说,假设我有以下名为 test.ml
的 OCaml 文件:
(**
[Test] is a sample module for showing the problem I am having with @ tags with OCamlDoc
*)
(**
[id] is the identity function. For any argument [x], [id x] is [x].
@param x The argument, which will be returned
@return The argument [x]
*)
let id (x: 'a): 'a = x
如果我 运行 命令 ocamldoc -html -all-params -colorize-code test.ml
获取 Test
模块的文档,我得到以下结果:
可以看出,对于参数信息,它把()
作为参数的名称,由于某些原因没有包含参数的描述。
我不确定为什么参数名称和描述没有正确显示。
如果你写let id x = x
显示是正确的:
问题是,如果您提供的标签与命名参数不匹配,但它无法从 (id : type)
.[=15 中提取命名参数,ocamldoc 将不会显示 @param
=]
这是一个已知的错误,但遗憾的是没有人碰过它,所以...https://github.com/ocaml/ocaml/issues/8804
作为 ocamldoc 的兼职维护者,在 odoc 可用时没有理由继续使用 ocamldoc,在编写新文档时更是如此。
Ocamldoc 对 param 标签的处理过于复杂了:ocamldoc 试图查看函数的定义,并且只接受与它可以识别的参数匹配的 param 标签。在这里,它在显式类型注释上失败。
简单地说,假设我有以下名为 test.ml
的 OCaml 文件:
(**
[Test] is a sample module for showing the problem I am having with @ tags with OCamlDoc
*)
(**
[id] is the identity function. For any argument [x], [id x] is [x].
@param x The argument, which will be returned
@return The argument [x]
*)
let id (x: 'a): 'a = x
如果我 运行 命令 ocamldoc -html -all-params -colorize-code test.ml
获取 Test
模块的文档,我得到以下结果:
可以看出,对于参数信息,它把()
作为参数的名称,由于某些原因没有包含参数的描述。
我不确定为什么参数名称和描述没有正确显示。
如果你写let id x = x
显示是正确的:
问题是,如果您提供的标签与命名参数不匹配,但它无法从 (id : type)
.[=15 中提取命名参数,ocamldoc 将不会显示 @param
=]
这是一个已知的错误,但遗憾的是没有人碰过它,所以...https://github.com/ocaml/ocaml/issues/8804
作为 ocamldoc 的兼职维护者,在 odoc 可用时没有理由继续使用 ocamldoc,在编写新文档时更是如此。
Ocamldoc 对 param 标签的处理过于复杂了:ocamldoc 试图查看函数的定义,并且只接受与它可以识别的参数匹配的 param 标签。在这里,它在显式类型注释上失败。