package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.7.1-504.tbz
sha256=139b073cf914b38b725c54f75b8b642f654c3498d0a4ba8cfa831ff02a8970d5
sha512=9391d3a0aaa5065a02c6f5faaf7149f8f800c748d9be5ccff6af800ce73bdf418ead72dbeaf6ee7a6cbeae2c8e56285fbe422740ed407bcc4edab889dd1c8f9c

doc/merlin-lib.ocaml_utils/Ocaml_utils/Build_path_prefix_map/index.html

Module Ocaml_utils.Build_path_prefix_mapSource

Rewrite paths for reproducible builds

Warning: this module is unstable and part of compiler-libs.

See the BUILD_PATH_PREFIX_MAP spec

Sourcetype path = string
Sourcetype path_prefix = string
Sourcetype error_message = string
Sourceval encode_prefix : path_prefix -> string
Sourceval decode_prefix : string -> (path_prefix, error_message) result
Sourcetype pair = {
  1. target : path_prefix;
  2. source : path_prefix;
}
Sourceval encode_pair : pair -> string
Sourceval decode_pair : string -> (pair, error_message) result
Sourcetype map = pair option list
Sourceval encode_map : map -> string
Sourceval decode_map : string -> (map, error_message) result
Sourceval rewrite_first : map -> path -> path option

rewrite_first map path tries to find a source in map that is a prefix of the input path. If it succeeds, it replaces this prefix with the corresponding target. If it fails, it just returns None.

Sourceval rewrite_all : map -> path -> path list

rewrite_all map path finds all sources in map that are a prefix of the input path. For each matching source, in priority order, it replaces this prefix with the corresponding target and adds the result to the returned list. If there are no matches, it just returns [].

Sourceval rewrite : map -> path -> path

rewrite path uses rewrite_first to try to find a mapping for path. If found, it returns that, otherwise it just returns path.