我最近创建了我的第一个Hex包; Ecto.Rut我正在制作文件。由于它在后面使用Ecto.Repo
并返回Ecto.Schema
和Ecto.Changeset
类型,因此我想在@specs中链接它们。
内部和Elixir核心类型(例如Keyword.t
)会自动链接,但ex_doc不会链接Ecto模块中定义的外部类型。我该如何做到这一点?
我目前尝试在@spec
中指定完整的模块名称,但这不起作用:
@callback all(opts :: Keyword.t) :: [Ecto.Schema.t] | no_return
答案 0 :(得分:3)
在some discussion on ElixirForum之后,Jose添加了此功能。使用ExDoc v0.14.2
及其后,它支持外部依赖模块的自动链接。
来自Github Page:
通过引用来自任何依赖项的模块,函数,类型或回调,例如
MyDep
,ExDoc将自动链接到hexdocs.pm上的依赖文档(该链接可以使用:deps配置) mix.exs中的选项
这意味着,只需提及完整的模块名称即可自动链接类型,回调,模块和方法。因此,通过更新到最新的ExDoc,我现有的代码现在自动链接:
@callback all(opts :: Keyword.t) :: [Ecto.Schema.t] | no_return