@@ -27,7 +27,7 @@ let showModuleTopLevel ~docstring ~isType ~name (topLevel : Module.item list) =
2727 in
2828 Some (doc ^ full)
2929
30- let rec showModule ~docstring ~(file : File.t ) ~name
30+ let rec showModule ~docstring ~(file : File.t ) ~package ~ name
3131 (declared : Module.t Declared.t option ) =
3232 match declared with
3333 | None ->
@@ -41,10 +41,12 @@ let rec showModule ~docstring ~(file : File.t) ~name
4141 showModuleTopLevel ~docstring ~is Type ~name items
4242 | Some ({item = Constraint (_moduleItem , moduleTypeItem )} as declared ) ->
4343 (* show the interface *)
44- showModule ~docstring ~file ~name
44+ showModule ~docstring ~file ~name ~package
4545 (Some {declared with item = moduleTypeItem})
46- | Some {item = Ident path } ->
47- Some (" Unable to resolve module reference " ^ Path. name path)
46+ | Some ({item = Ident path } as declared ) -> (
47+ match References. resolveModuleReference ~file ~package declared with
48+ | None -> Some (" Unable to resolve module reference " ^ Path. name path)
49+ | Some (_ , declared ) -> showModule ~docstring ~file ~name ~package declared)
4850
4951type extractedType = {
5052 name : string ;
@@ -179,7 +181,7 @@ let newHover ~full:{file; package} ~supportsMarkdownLinks locItem =
179181 | Some d -> (d.name.txt, d.docstring)
180182 | None -> (file.moduleName, file.structure.docstring)
181183 in
182- showModule ~docstring ~name ~file declared))
184+ showModule ~docstring ~name ~file declared ~package ))
183185 | LModule (GlobalReference (moduleName , path , tip )) -> (
184186 match ProcessCmt. fileForModule ~package moduleName with
185187 | None -> None
@@ -199,14 +201,14 @@ let newHover ~full:{file; package} ~supportsMarkdownLinks locItem =
199201 | Some d -> (d.name.txt, d.docstring)
200202 | None -> (file.moduleName, file.structure.docstring)
201203 in
202- showModule ~docstring ~name ~file declared))))
204+ showModule ~docstring ~name ~file ~package declared))))
203205 | LModule NotFound -> None
204206 | TopLevelModule name -> (
205207 match ProcessCmt. fileForModule ~package name with
206208 | None -> None
207209 | Some file ->
208210 showModule ~docstring: file.structure.docstring ~name: file.moduleName ~file
209- None )
211+ ~package None )
210212 | Typed (_ , _ , Definition (_ , (Field _ | Constructor _ ))) -> None
211213 | Constant t ->
212214 Some
0 commit comments