diff --git a/android/app/src/main/java/com/fabledsword/inkwell/ui/TagSuggest.kt b/android/app/src/main/java/com/fabledsword/inkwell/ui/TagSuggest.kt index 39c9c7d..319302c 100644 --- a/android/app/src/main/java/com/fabledsword/inkwell/ui/TagSuggest.kt +++ b/android/app/src/main/java/com/fabledsword/inkwell/ui/TagSuggest.kt @@ -37,14 +37,16 @@ fun tagQueryAt( text: String, caret: Int, ): TagQuery? { - if (caret < 0 || caret > text.length) return null var i = caret while (i > 0 && text[i - 1].isTagChar()) i-- - if (i == 0 || text[i - 1] != '#') return null val hash = i - 1 - if (hash > 0 && !text[hash - 1].isWhitespace()) return null val query = text.substring(i, caret) - if (query.isNotEmpty() && !Character.isAlphabetic(query[0].code)) return null + val inTag = + hash >= 0 && + text[hash] == '#' && + (hash == 0 || text[hash - 1].isWhitespace()) && + (query.isEmpty() || Character.isAlphabetic(query[0].code)) + if (!inTag) return null var end = caret while (end < text.length && text[end].isTagChar()) end++ return TagQuery(start = hash, end = end, query = query)