OffsetMapping


Provides bidirectional offset mapping between original and transformed text.

Summary

Public companion properties

OffsetMapping

The offset map used for identity mapping.

Cmn

Public functions

Int

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

Cmn
Int

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

Cmn

Public companion properties

Identity

val IdentityOffsetMapping

The offset map used for identity mapping.

Public functions

originalToTransformed

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
offset: Int

offset in original text.

Returns
Int

offset in transformed text

transformedToOriginal

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
offset: Int

offset in transformed text

Returns
Int

offset in original text