package merlin-lib
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=da5bf309b040645c292ae4572cc6a0a700dbd2bcfc996ac13c8e5c3836c21e26
sha512=99eba17b2bdec5411d239093f4e8e11ada79b2b84ae88074a1b46e47eb836bbf8cb7836c472c22e7f9e68cff1b9ea6d9b9989b70055c3277edb4cddc4a86460c
doc/merlin-lib.kernel/Merlin_kernel/Mconfig_dot/index.html
Module Merlin_kernel.Mconfig_dot
Source
type config = {
build_path : string list;
source_path : string list;
cmi_path : string list;
cmt_path : string list;
flags : string list Merlin_utils.Std.with_workdir list;
extensions : string list;
suffixes : (string * string) list;
stdlib : string option;
reader : string list;
exclude_query_dir : bool;
use_ppx_cache : bool;
}
val prepend_config :
dir:string ->
Configurator.t ->
Merlin_dot_protocol.directive list ->
config ->
config * string list
prepend_config ~dir c directives config
parses directives
and update config
accordingly, prepending new items when to already existing list fields of config
. dir
is used as the workdir
for flags declared in the directives
. If c = Dune
, unknown directives are ignored.
prostprocess_config config
removes duplicates and reverses the lists in config
find_project_config dir
searches for a "project configuration file" in dir and its parent directories. Stopping on the first one it finds and returning a configuration context along with the path to the configuration file, returning None otherwise (if '/' was reached without finding such a file).
A project configuration files is one of:
- .merlin
- dune-project
- dune-workspace
They are detected in that order. dune
and jbuild
file do not need to be taken into account because any project using a recent version of dune should have a dune-project file which is even auto-generated when it is missing. And only recent versions of dune will stop writing .merlin files.