module Zip:sig
..end
type
t
len
there is len + 1
positions.val make_f : Zed_rope.rope -> int -> t
make_f rope pos
creates a new zipper pointing to positon
pos
of rope
.val make_b : Zed_rope.rope -> int -> t
make_f rope pos
creates a new zipper pointing to positon
length rope - pos
of rope
.val offset : t -> int
val next : t -> CamomileLibrary.UChar.t * t
next zipper
returns the code point at the right of the
zipper and a zipper to the next position. It raises
Out_of_bounds
if the zipper points to the end of the
rope.val prev : t -> CamomileLibrary.UChar.t * t
prev zipper
returns the code point at the left of the
zipper and a zipper to the previous position. It raises
Out_of_bounds
if the zipper points to the beginning of the
rope.val move : int -> t -> t
move n zip
moves the zipper by n
characters. If n
is
negative it is moved to the left and if it is positive it is
moved to the right. It raises Out_of_bounds
if the result
is outside the bounds of the rope.val at_bos : t -> bool
at_bos zipper
returns true
iff zipper
points to the
beginning of the rope.val at_eos : t -> bool
at_eos zipper
returns true
iff zipper
points to the
end of the rope.val find_f : (CamomileLibrary.UChar.t -> bool) -> t -> t
find_f f zip
search forward for a character to satisfy
f
. It returns a zipper pointing to the left of the first
character to satisfy f
, or a zipper pointing to the end of
the rope if no such character exists.val find_b : (CamomileLibrary.UChar.t -> bool) -> t -> t
find_b f zip
search backward for a character to satisfy
f
. It returns a zipper pointing to the right of the first
character to satisfy f
, or a zipper pointing to the
beginning of the rope if no such character exists.val sub : t -> int -> Zed_rope.rope
sub zipper len
returns the sub-rope of length len
pointed
by zipper
.val slice : t -> t -> Zed_rope.rope
slice zipper1 zipper2
returns the rope between zipper1
and zipper2
. If zipper1 > zipper2
then this is the same as
slice zipper2 zipper1
.
The result is unspecified if the two zippers do not points to
the same rope.