Merge pull request #503 from rgrinberg/merlin-no-pkg

Change .merlin generation to not use PKG
This commit is contained in:
Rudi Grinberg 2018-02-13 02:31:50 +08:00 committed by GitHub
commit abb4440e28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 10 deletions

View File

@ -48,18 +48,18 @@ let dot_merlin sctx ~dir ~scope ({ requires; flags; _ } as t) =
requires &&& flags
>>^ (fun (libs, flags) ->
let ppx_flags = ppx_flags sctx ~dir ~scope ~src_dir:remaindir t in
let internals, externals =
List.fold_left libs ~init:([], []) ~f:(fun (internals, externals) ->
let libs =
List.fold_left libs ~init:[] ~f:(fun acc ->
let serialize_path = Path.reach ~from:remaindir in
function
| Lib.Internal (path, lib) ->
let spath =
Path.drop_optional_build_context path
|> Path.reach ~from:remaindir
in
let bpath = Path.reach (Lib.lib_obj_dir path lib) ~from:remaindir in
("S " ^ spath) :: ("B " ^ bpath) :: internals, externals
serialize_path (Path.drop_optional_build_context path) in
let bpath = serialize_path (Lib.lib_obj_dir path lib) in
("S " ^ spath) :: ("B " ^ bpath) :: acc
| Lib.External pkg ->
internals, ("PKG " ^ Findlib.Package.name pkg) :: externals
let external_dir = serialize_path (Findlib.Package.dir pkg) in
("S " ^ external_dir) :: ("B " ^ external_dir) :: acc
)
in
let source_dirs =
@ -85,8 +85,7 @@ let dot_merlin sctx ~dir ~scope ({ requires; flags; _ } as t) =
List.concat
[ source_dirs
; objs_dirs
; internals
; externals
; libs
; flags
; ppx_flags
]