Page
Library
Module
Module type
Parameter
Class
Class type
Source
Zed_rope
SourceUnicode ropes
Type of unicode ropes.
Exception raised when trying to access a character which is outside the bounds of a rope.
make length char
creates a rope of length length
containing only char
.
singleton ch
creates a rope of length 1 containing only ch
.
get rope idx
returns the glyph at index idx
in rope
.
get_raw rope idx
returns the character at raw index idx
in rope
.
concat sep l
concatenates all strings of l
separating them by sep
.
sub rope ofs len
Returns the sub-rope of rope
starting at ofs
and of length len
.
break rope pos
returns the sub-ropes before and after pos
in rope
. It is more efficient than creating two sub-ropes with sub
.
insert rope pos sub
inserts sub
in rope
at position pos
.
insert rope pos char
inserts char
in rope
at position pos
. If char
is a combing mark, it's merged to the character at position pos-1
remove rope pos len
removes the len
characters at position pos
in rope
replace rope pos len repl
replaces the len
characters at position pos
in rope
by repl
.
lchop rope
returns rope
without is first character. Returns empty
if rope
is empty.
rchop rope
returns rope
without is last character. Returns empty
if rope
is empty.
iter f rope
applies f
on all characters of rope
starting from the left.
rev_iter f rope
applies f
an all characters of rope
starting from the right.
fold f rope acc
applies f
on all characters of rope
starting from the left, accumulating a value.
rev_fold f rope acc
applies f
on all characters of rope
starting from the right, accumulating a value.
map f rope
maps all characters of rope
with f
.
rev_map f str
maps all characters of rope
with f
in reverse order.
Note: for all of the following functions, the leaves must absolutely not be modified.
iter_leaf f rope
applies f
on all leaves of rope
starting from the left.
iter_leaf f rope
applies f
on all leaves of rope
starting from the right.
fold f rope acc
applies f
on all leaves of rope
starting from the left, accumulating a value.
rev_fold f rope acc
applies f
on all leaves of rope
starting from the right, accumulating a value.