UI module

selection_range

procedureextensionexperimentalsince 0.31.0Source

The selected range as (start, end) byte offsets.

Example↗
edit: Text_Edit;
defer free_text_edit(*edit);
set_contents(*edit, "hello world");
move_caret(*edit, 6);
move_caret(*edit, 11, extend = true);
start, end := selection_range(*edit);
assert(start == 6 && end == 11);
selection_range :: (edit: *Text_Edit) -> (start: int, end: int)

The selected range as (start, end) byte offsets.

Parameters

edit: *Text_Edit
the text being edited.

Returns

start: int
end: int
Example↗
edit: Text_Edit;
defer free_text_edit(*edit);
set_contents(*edit, "hello world");
move_caret(*edit, 6);
move_caret(*edit, 11, extend = true);
start, end := selection_range(*edit);
assert(start == 6 && end == 11);

See also