search

fun search(needle: String, ignoreCase: Boolean = true, pageIndex: Int = -1): List<KiteSearchHit>(source)

Find needle in this page's text. Matches may cross line boundaries inside a block: a line break counts as one space, except after a line ending in a hyphen, which joins the halves directly with the hyphen dropped (so a hyphenated "compres-/sion" matches "compression"). Matches never cross block boundaries. Case-insensitive comparison uses per-position regionMatches, so indices stay aligned for any script.

Parameters

pageIndex

stamped onto each hit (the model itself is page-local).


fun search(needle: String, ignoreCase: Boolean = true, pageIndex: Int = -1, location: KiteLocation?): List<KiteSearchHit>(source)

search with an explicit page location in the current layout. The caller owns the page coordinate: structured text alone cannot recover its chapter or page. pageIndex keeps its caller-supplied meaning and may be -1 when unknown. Neither the location nor the quads are a content anchor that survives reflow.