diff --git a/src/odoc/odoc_link.ml b/src/odoc/odoc_link.ml index 5762db39f3..4fbdf4ae01 100644 --- a/src/odoc/odoc_link.ml +++ b/src/odoc/odoc_link.ml @@ -4,6 +4,34 @@ let link_page ~resolver ~filename page = let env = Resolver.build_env_for_page resolver page in Odoc_xref2.Link.resolve_page ~filename env page +let content_for_hidden_modules = + let open Odoc_model in + let open Lang.Signature in + let with_loc v = + let open Location_ in + { + location = + { + file = "_none_"; + start = { line = 1; column = 0 }; + end_ = { line = 1; column = 0 }; + }; + value = v; + } + in + let sentence = + [ + `Word "This"; + `Space; + `Word "module"; + `Space; + `Word "is"; + `Space; + `Word "hidden."; + ] + in + [ Comment (`Docs [ with_loc @@ `Paragraph (List.map with_loc sentence) ]) ] + let link_unit ~resolver ~filename m = let open Odoc_model in let open Lang.Compilation_unit in @@ -11,7 +39,9 @@ let link_unit ~resolver ~filename m = if Root.Odoc_file.hidden m.root.file then { m with - content = Module { items = []; compiled = false; doc = [] }; + content = + Module + { items = content_for_hidden_modules; compiled = false; doc = [] }; expansion = None; } else m diff --git a/test/xref2/module_preamble.t/run.t b/test/xref2/module_preamble.t/run.t index ec5bde311e..f5e09a080c 100644 --- a/test/xref2/module_preamble.t/run.t +++ b/test/xref2/module_preamble.t/run.t @@ -122,6 +122,6 @@ and that "hidden" modules (eg. `A__b`, rendered to `html/A__b`) are not rendered

Module A__b

-
+

This module is hidden.