diff --git a/platform/lang-impl/src/com/intellij/util/indexing/ProjectEntityIndexingService.kt b/platform/lang-impl/src/com/intellij/util/indexing/ProjectEntityIndexingService.kt index 459990ea3071..d313364ce4ab 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/ProjectEntityIndexingService.kt +++ b/platform/lang-impl/src/com/intellij/util/indexing/ProjectEntityIndexingService.kt @@ -84,8 +84,19 @@ class ProjectEntityIndexingService( } if (event.registeredFileSets.isNotEmpty() || event.removedFileSets.isNotEmpty()) { - val parameters = computeScanningParametersFromWFIEvent(event) - UnindexedFilesScanner(project, parameters).queue() + val registeredIndexableFileSets = event.registeredFileSets.filter { it.kind.isIndexable } + val removedIndexableFileSets = event.removedFileSets.filter { it.kind.isIndexable } + + if (registeredIndexableFileSets.isNotEmpty() || removedIndexableFileSets.isNotEmpty()) { + val event = WorkspaceFileIndexChangedEvent( + removedFileSets = removedIndexableFileSets, + registeredFileSets = registeredIndexableFileSets, + storageBefore = event.storageBefore, + storageAfter = event.storageAfter, + ) + val parameters = computeScanningParametersFromWFIEvent(event) + UnindexedFilesScanner(project, parameters).queue() + } } } @@ -143,7 +154,6 @@ class ProjectEntityIndexingService( for (fileSet in fileSets) { fileSet as WorkspaceFileSetWithCustomData<*> val entityPointer = fileSet.getEntityPointer() ?: continue - if (!fileSet.kind.isIndexable) continue if (fileSet.data is ModuleRelatedRootData) continue if (fileSet.kind.isContent) continue