@@ -27,7 +27,7 @@ let showModuleTopLevel ~docstring ~isType ~name (topLevel : Module.item list) =
27
27
in
28
28
Some (doc ^ full)
29
29
30
- let rec showModule ~docstring ~(file : File.t ) ~name
30
+ let rec showModule ~docstring ~(file : File.t ) ~package ~ name
31
31
(declared : Module.t Declared.t option ) =
32
32
match declared with
33
33
| None ->
@@ -41,10 +41,12 @@ let rec showModule ~docstring ~(file : File.t) ~name
41
41
showModuleTopLevel ~docstring ~is Type ~name items
42
42
| Some ({item = Constraint (_moduleItem , moduleTypeItem )} as declared ) ->
43
43
(* show the interface *)
44
- showModule ~docstring ~file ~name
44
+ showModule ~docstring ~file ~name ~package
45
45
(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)
48
50
49
51
type extractedType = {
50
52
name : string ;
@@ -179,7 +181,7 @@ let newHover ~full:{file; package} ~supportsMarkdownLinks locItem =
179
181
| Some d -> (d.name.txt, d.docstring)
180
182
| None -> (file.moduleName, file.structure.docstring)
181
183
in
182
- showModule ~docstring ~name ~file declared))
184
+ showModule ~docstring ~name ~file declared ~package ))
183
185
| LModule (GlobalReference (moduleName , path , tip )) -> (
184
186
match ProcessCmt. fileForModule ~package moduleName with
185
187
| None -> None
@@ -199,14 +201,14 @@ let newHover ~full:{file; package} ~supportsMarkdownLinks locItem =
199
201
| Some d -> (d.name.txt, d.docstring)
200
202
| None -> (file.moduleName, file.structure.docstring)
201
203
in
202
- showModule ~docstring ~name ~file declared))))
204
+ showModule ~docstring ~name ~file ~package declared))))
203
205
| LModule NotFound -> None
204
206
| TopLevelModule name -> (
205
207
match ProcessCmt. fileForModule ~package name with
206
208
| None -> None
207
209
| Some file ->
208
210
showModule ~docstring: file.structure.docstring ~name: file.moduleName ~file
209
- None )
211
+ ~package None )
210
212
| Typed (_ , _ , Definition (_ , (Field _ | Constructor _ ))) -> None
211
213
| Constant t ->
212
214
Some
0 commit comments