[kotlin] Adjust isPackage

#KTIJ-12018

GitOrigin-RevId: e74ff16a2e60bbe58eedbe9375cb614f01d0d8a3
This commit is contained in:
Vladimir Dolzhenko
2024-03-23 20:11:00 +00:00
committed by intellij-monorepo-bot
parent 4705937466
commit 3b24160262
2 changed files with 8 additions and 3 deletions
@@ -141,8 +141,11 @@ fun LibraryEx.updateEx(block: (LibraryEx.ModifiableModelEx) -> Unit) {
}
}
val KOTLIN_SOURCE_ROOT_TYPES: Set<JpsModuleSourceRootType<JavaSourceRootProperties>> =
ALL_KOTLIN_SOURCE_ROOT_TYPES
val KOTLIN_AWARE_SOURCE_ROOT_TYPES: Set<JpsModuleSourceRootType<JavaSourceRootProperties>> =
JavaModuleSourceRootTypes.SOURCES + ALL_KOTLIN_SOURCE_ROOT_TYPES
JavaModuleSourceRootTypes.SOURCES + KOTLIN_SOURCE_ROOT_TYPES
val KOTLIN_AWARE_SOURCE_AND_RESOURCES_ROOT_TYPES: Set<JpsModuleSourceRootType<*>> =
KOTLIN_AWARE_SOURCE_ROOT_TYPES + JavaModuleSourceRootTypes.RESOURCES
@@ -5,14 +5,16 @@ import com.intellij.ide.actions.CreateDirectoryOrPackageAction
import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ProjectRootManager
import com.intellij.psi.PsiDirectory
import org.jetbrains.kotlin.idea.base.util.KOTLIN_AWARE_SOURCE_ROOT_TYPES
import org.jetbrains.kotlin.idea.base.util.KOTLIN_SOURCE_ROOT_TYPES
class CreateKotlinAwareDirectoryOrPackageAction: CreateDirectoryOrPackageAction() {
override fun isPackage(project: Project, directories: List<PsiDirectory>): Boolean {
if (super.isPackage(project, directories)) return true
val fileIndex = ProjectRootManager.getInstance(project).getFileIndex()
return directories.any {
val virtualFile = it.getVirtualFile()
fileIndex.isUnderSourceRootOfType(virtualFile, KOTLIN_AWARE_SOURCE_ROOT_TYPES)
fileIndex.isUnderSourceRootOfType(virtualFile, KOTLIN_SOURCE_ROOT_TYPES)
}
}
}