Skip to content

Commit eb84f96

Browse files
committed
Fix #369
We no longer search for empty strings and don't produce invalid regex
1 parent e17208b commit eb84f96

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/kotlin/com/demonwav/mcdev/i18n/reference/I18nReferencesSearcher.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,21 @@ class I18nReferencesSearcher : QueryExecutor<PsiReference, ReferencesSearch.Sear
3939
model.isCaseSensitive = true
4040
model.searchContext = FindModel.SearchContext.IN_STRING_LITERALS
4141
model.isRegularExpressions = true
42+
// Enables custom translations functions (for auto-prefixing calls, for instance)
4243
model.stringToFind = power(entry.key.split('.'))
44+
.map { it.joinToString(".") }
4345
.filter { it.isNotEmpty() }
44-
.joinToString("|") { Regex.escape(it.joinToString(".")) }
46+
.joinToString("|") { "(${Regex.escape(it)})" }
4547
FindInProjectUtil.findUsages(
4648
model,
4749
parameters.project,
4850
{
4951
if (it.file != null && it.element != null && it.rangeInElement != null) {
50-
val highlighted = it.file!!.findElementAt(it.rangeInElement!!.startOffset)
52+
val highlighted = it.file?.findElementAt(it.rangeInElement!!.startOffset)
5153
val ref = highlighted?.parent?.references?.find { it is I18nReference } as I18nReference?
52-
if (ref != null && ref.key == entry.key)
54+
if (ref?.key == entry.key) {
5355
consumer.process(ref)
56+
}
5457
}
5558
true
5659
},

0 commit comments

Comments
 (0)