Package-level declarations
Provides the baseline implementation for keyboard3 markers, marker-aware character strings, descriptors, and parsing facilities.
Types
Describes something by a qualified name. Its usage is to distinguish "normal" strings from special actions or references.
A marker pool is a mapping between unique numeric ids and marker names. This is required for efficient runtime storage and comparison of in-band markers. See the discussion of marker ids in K3Marker.
A mutable marker pool that allocates and maintains the mapping between unique ids and marker names.
The K3String class represents marker-aware character strings for use in Keyboard3 models and runtimes.
A mutable sequence of characters and markers. Allows to efficiently build K3String objects.
Union interface which allows a property to either be K3String or K3Descriptor.
This annotation marks all API affected by a required future migration to Kotlin rich errors.
Functions
Returns this String as a K3String.
Builds new K3String by populating a newly created K3StringBuilder using provided builderAction and then converting it to K3String.
Returns an immutable and empty marker pool.
Checks if this string is normalized.
Checks if this K3String is normalized in a marker-aware-manner.
Returns a new instance of a mutable marker pool.
Normalizes this string according to UAX#15.
Normalizes this K3String in a marker-aware manner, using the marker algorithm from Unicode TR35.
fun String.toK3String(allowEscapedCodePoints: Boolean = true, allowEscapedMarkers: Boolean = true, allowStringVarRefs: Boolean = true): K3StringOrError
Parses this string to a K3String, and interprets or disallows escaped codepoints, markers, and string variable references.
fun String.toSetOfK3String(): K3ListOfK3StringOrError
Parses this string to a set of K3String objects.