diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/solfa/PTemplate.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/solfa/PTemplate.kt index 5a8b7dd..accb391 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/solfa/PTemplate.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/solfa/PTemplate.kt @@ -78,7 +78,15 @@ class PTemplate (val template: String, val separatorAfter: String, private val m continue } - val matchedMarker = allStaticMarkers.find { remaining.startsWith(it, ignoreCase = true) } + val matchedMarker = allStaticMarkers + .sortedByDescending { it.length } + .find { marker -> + remaining.startsWith(marker, ignoreCase = true) && + (remaining.length == marker.length || + !remaining[marker.length].isLetter()) + } + + if (matchedMarker != null) { tokens.add(matchedMarker) remaining = remaining.substring(matchedMarker.length)