package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

Dune Dependency

Authors

Maintainers

Sources

merlin-5.3-502.tbz
sha256=2cea46f12397fa6e31ef0c0d4f5e11c1cfd916ee49420694005c95ebb3aa24bc
sha512=e94abb9ae38149245337db033e2c3891c7ec772168e99abf1bda0216a894c0854e7170b56fe88eba83ec98f2ebc0f5c7c723e8db14f59eeb6dd348bec12c6d62

doc/merlin-lib.kernel/Merlin_kernel/Mconfig_dot/index.html

Module Merlin_kernel.Mconfig_dotSource

Sourcemodule Configurator : sig ... end
Sourcetype config = {
  1. build_path : string list;
  2. source_path : string list;
  3. hidden_build_path : string list;
  4. hidden_source_path : string list;
  5. cmi_path : string list;
  6. cmt_path : string list;
  7. index_files : string list;
  8. flags : string list Merlin_utils.Std.with_workdir list;
  9. extensions : string list;
  10. suffixes : (string * string) list;
  11. stdlib : string option;
  12. source_root : string option;
  13. unit_name : string option;
  14. wrapping_prefix : string option;
  15. reader : string list;
  16. exclude_query_dir : bool;
  17. use_ppx_cache : bool;
}
Sourceval empty_config : config
Sourceval 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.

Sourceval postprocess_config : config -> config

prostprocess_config config removes duplicates and reverses the lists in config

Sourcetype context
Sourceval get_config : context -> string -> config * string list
Sourceval 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.

OCaml

Innovation. Community. Security.