module Loc: sig
.. end
Locating text in input data.
Positions
type
pos = int * int
The type for positions. A one-based line number and and a
zero-based column number. Each Unicode scalar value on a line
increments column number by one.
val nil_pos : pos
nil_pos
is an invalid position.
val zero_pos : pos
zero_pos
is (1,0)
.
Ranges
type
range = pos * pos
The type for ranges. Start and stop position.
val nil_range : range
nil_range
is an invalid range.
val zero_range : range
zero_range
is (zero_pos, zero_pos)
.
Locations
type
src =
| |
Builtin |
| |
Cli |
| |
File of Fpath.t |
The type for location sources.
type
t = src * range
The type for locations.
val nil : t
nil
is an invalid builtin location.
val for_builtin : string -> t
for_builtin s
is a builtin location for string s
.
val for_cli : string -> t
for_cli s
is a cli location for string s
.
val for_path : ?range:range -> Fpath.t -> t
val pp : t Fmt.t
Traces
type
trace = t list
The type for traces. Lists of locations.
val nil_trace : trace
nil
is an empty trace.
val pp_trace : trace Fmt.t