Small cleanup of merlin generation

Use the the known src/obj dirs as the initial value for accumulation

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
Rudi Grinberg 2018-05-30 14:41:56 +07:00
parent 8f16afe293
commit 0d3bdf34fc
1 changed files with 5 additions and 5 deletions

View File

@ -127,19 +127,19 @@ let dot_merlin sctx ~dir ~scope ({ requires; flags; _ } as t) =
flags flags
>>^ (fun flags -> >>^ (fun flags ->
let (src_dirs, obj_dirs) = let (src_dirs, obj_dirs) =
Lib.Set.fold requires ~init:(Path.Set.empty, Path.Set.empty) Lib.Set.fold requires ~init:(t.source_dirs, t.objs_dirs)
~f:(fun (lib : Lib.t) (src_dirs, build_dirs) -> ~f:(fun (lib : Lib.t) (src_dirs, obj_dirs) ->
( Path.Set.add src_dirs ( ( Path.Set.add src_dirs (
Lib.src_dir lib Lib.src_dir lib
|> Path.drop_optional_build_context) |> Path.drop_optional_build_context)
, Path.Set.add build_dirs (Lib.obj_dir lib))) , Path.Set.add obj_dirs (Lib.obj_dir lib)))
in in
Dot_file.to_string Dot_file.to_string
~remaindir ~remaindir
~ppx:(ppx_flags sctx ~dir ~scope ~src_dir:remaindir t) ~ppx:(ppx_flags sctx ~dir ~scope ~src_dir:remaindir t)
~flags ~flags
~src_dirs:(Path.Set.union src_dirs t.source_dirs) ~src_dirs
~obj_dirs:(Path.Set.union obj_dirs t.objs_dirs)) ~obj_dirs)
>>> >>>
Build.write_file_dyn merlin_file) Build.write_file_dyn merlin_file)