OffsetMapping

Interface

Common
interface OffsetMapping

Provides bidirectional offset mapping between original and transformed text.

Functions

fun originalToTransformed(offset: Int): Int

Convert offset in original text into the offset in transformed text.

This function must be a monotonically non-decreasing function. In other words, if a cursor advances in the original text, the cursor in the transformed text must advance or stay there.

Parameters

offsetoffset in original text.

Returns

offset in transformed text
fun transformedToOriginal(offset: Int): Int

Convert offset in transformed text into the offset in original text.

This function must be a monotonically non-decreasing function. In other words, if a cursor advances in the transformed text, the cusrsor in the original text must advance or stay there.

Parameters

offsetoffset in transformed text

Returns

offset in original text