Module Merlin_kernel.MsourceSource

Sourcetype t

Merlin representation of a textual source code

It bundles filename and a content, and offers functions for computing positions in the source.

Sourcemodule Digest : sig ... end

Minimal Digest utilities around t

Sourceval make : string -> t

Making a content from name and contents.

Position management

Sourcetype position = [
  1. | `Start
  2. | `Offset of int
  3. | `Logical of int * int
  4. | `End
]
Sourceval get_offset : t -> [< position ] -> [> `Offset of int ]
Sourceval get_logical : t -> [< position ] -> [> `Logical of int * int ]
Sourceval get_lexing_pos : t -> filename:string -> [< position ] -> Lexing.position

Managing content

Sourceval substitute : t -> [< position ] -> [< position | `Length of int ] -> string -> t

Updating content

Sourceval text : t -> string

Source code of the file

Sourceval print_position : unit -> [< position ] -> string