KMT-1078 [compose resources, find usages] search for sanitized name

GitOrigin-RevId: 9e785ea2fee206df48a081aa83ab4be805d319b3
This commit is contained in:
Alexandru Resiga
2025-05-09 18:37:49 +00:00
committed by intellij-monorepo-bot
parent d748bcc6b3
commit 91e1cf5d83
2 changed files with 4 additions and 3 deletions
@@ -1,6 +1,7 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.compose.ide.plugin.resources
import com.intellij.compose.ide.plugin.resources.psi.asUnderscoredIdentifier
import com.intellij.lang.xml.XMLLanguage
import com.intellij.openapi.vfs.toNioPathOrNull
import com.intellij.psi.PsiElement
@@ -73,14 +74,14 @@ internal interface ComposeResourcesBase {
internal interface ComposeResourcesFileBase : ComposeResourcesBase {
override fun getPsiFile(element: PsiElement): PsiFile? = element as? PsiFile
override fun getName(element: PsiElement): String? = element.namedUnwrappedElement?.name?.withoutExtension
override fun getName(element: PsiElement): String? = element.namedUnwrappedElement?.name?.withoutExtension?.asUnderscoredIdentifier()
override val validInnerComposeResourcesDirNames: Set<String>
get() = setOf("drawable", "font")
}
internal interface ComposeResourcesXmlBase : ComposeResourcesBase {
override fun getPsiFile(element: PsiElement): PsiFile? = element.containingFile?.takeIf { it.language == XMLLanguage.INSTANCE }
override fun getName(element: PsiElement): String? = element.text
override fun getName(element: PsiElement): String? = element.text.asUnderscoredIdentifier()
override val validInnerComposeResourcesDirNames: Set<String>
get() = setOf("values")
}
@@ -150,7 +150,7 @@ private fun Path.listNotHiddenFiles(): List<Path> =
Files.list(this).filter { !Files.isHidden(it) }.toList()
private fun String.asUnderscoredIdentifier(): String =
internal fun String.asUnderscoredIdentifier(): String =
replace('-', '_')
.let { if (it.isNotEmpty() && it.first().isDigit()) "_$it" else it }