Reset library caches on file types change and dumb mode enter/exit

Ref: https://github.com/JetBrains/intellij-community/commit/50df476199043bde25b8220c8a8ff2f3545bd325
This commit is contained in:
Dmitry Jemerov
2017-06-14 17:52:14 +02:00
parent 94dcadbec7
commit a2427c64a1
@@ -19,6 +19,10 @@ package org.jetbrains.kotlin.idea.caches.resolve
import com.intellij.ide.highlighter.ArchiveFileType
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.fileTypes.FileTypeEvent
import com.intellij.openapi.fileTypes.FileTypeListener
import com.intellij.openapi.fileTypes.FileTypeManager
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ProjectFileIndex
import com.intellij.openapi.util.SimpleModificationTracker
@@ -60,6 +64,26 @@ class LibraryModificationTracker(project: Project) : SimpleModificationTracker()
}
}
})
connection.subscribe(DumbService.DUMB_MODE, object : DumbService.DumbModeListener {
override fun enteredDumbMode() {
incModificationCount()
}
override fun exitDumbMode() {
incModificationCount()
}
})
connection.subscribe(FileTypeManager.TOPIC, object : FileTypeListener {
override fun beforeFileTypesChanged(event: FileTypeEvent) {
incModificationCount()
}
override fun fileTypesChanged(event: FileTypeEvent) {
incModificationCount()
}
})
}
private val projectFileIndex = ProjectFileIndex.SERVICE.getInstance(project)