package merlin-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=82d648a4180d6d5aa3a083218e28bf197f4e9f147884de9302bb6811ad98b77f
sha512=e21c96db754a289462677e6985181902ddd90bab9e9cebbbb739d92d94b5aee7ef7a134da70ae384291d9bfaccfecd26d37b48f8d75c5d36b9eda18f6e5afd3d
doc/merlin-lib.kernel/Merlin_kernel/Mconfig_dot/index.html
Module Merlin_kernel.Mconfig_dotSource
type config = {build_path : string list;source_path : string list;cmi_path : string list;cmt_path : string list;index_files : string list;flags : string list Merlin_utils.Std.with_workdir list;extensions : string list;suffixes : (string * string) list;stdlib : string option;source_root : string option;unit_name : string option;wrapping_prefix : 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 listprepend_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.