From 3a0141e34d34c373a6171a1d4414976c8385a97c Mon Sep 17 00:00:00 2001 From: Hasinjato Date: Tue, 15 Sep 2026 16:29:31 +0300 Subject: [PATCH] Isolate nuances marker --- .../kotlin/mg/dot/feufaro/solfa/PTemplate.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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)