package merlin-lib

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type config = {
  1. build_path : string list;
  2. source_path : string list;
  3. cmi_path : string list;
  4. cmt_path : string list;
  5. flags : string list Merlin_utils.Std.with_workdir list;
  6. extensions : string list;
  7. suffixes : (string * string) list;
  8. stdlib : string option;
  9. reader : string list;
  10. exclude_query_dir : bool;
}
type context
val get_config : context -> string -> config * string list
val find_project_context : string -> (context * string) option

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.