@@ -561,10 +561,9 @@ type roots = {
561
561
}
562
562
563
563
let create ~important_digests ~directories ~open_modules ~roots =
564
- let ap = Accessible_paths. create ~directories in
565
- let pages, libs, current_dir =
564
+ let pages, libs, current_dir, directories =
566
565
match roots with
567
- | None -> (None , None , None )
566
+ | None -> (None , None , None , directories )
568
567
| Some { page_roots; lib_roots; current_lib; current_package; current_dir }
569
568
->
570
569
let prepare roots omit =
@@ -580,13 +579,21 @@ let create ~important_digests ~directories ~open_modules ~roots =
580
579
{ Named_roots. name; dir; omit })
581
580
roots
582
581
in
582
+ let directories =
583
+ match current_package with
584
+ | None -> directories
585
+ | Some pkg -> (
586
+ try List. assoc pkg page_roots :: directories
587
+ with _ -> directories)
588
+ in
583
589
let omit = List. map snd lib_roots in
584
- let page_roots = prepare page_roots omit in
585
590
let lib_roots = prepare lib_roots [] in
591
+ let page_roots = prepare page_roots omit in
586
592
let pages = Named_roots. create ~current_root: current_package page_roots
587
593
and libs = Named_roots. create ~current_root: current_lib lib_roots in
588
- (Some pages, Some libs, Some current_dir)
594
+ (Some pages, Some libs, Some current_dir, directories )
589
595
in
596
+ let ap = Accessible_paths. create ~directories in
590
597
{ important_digests; ap; open_modules; pages; libs; current_dir }
591
598
592
599
(* * Helpers for creating xref2 env. *)
0 commit comments