diff --git a/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java b/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java index 8f990bcc2237..b75266ac7d20 100644 --- a/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/scratch/ScratchFileServiceImpl.java @@ -52,6 +52,7 @@ import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.PairConsumer; import com.intellij.util.PathUtil; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.indexing.IndexableSetContributor; import com.intellij.util.messages.MessageBus; import org.jdom.Element; import org.jetbrains.annotations.NotNull; @@ -59,9 +60,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.io.IOException; -import java.util.Collection; -import java.util.List; -import java.util.Set; +import java.util.*; @State(name = "ScratchFileService", storages = @Storage("scratches.xml")) @@ -314,4 +313,26 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis private static Language getLanguageByFileName(@Nullable VirtualFile file) { return file == null ? null : LanguageUtil.getFileTypeLanguage(FileTypeManager.getInstance().getFileTypeByFileName(file.getName())); } + + public static class IndexSetContributor extends IndexableSetContributor { + + @NotNull + @Override + public Set getAdditionalRootsToIndex() { + ScratchFileService instance = ScratchFileService.getInstance(); + LocalFileSystem fileSystem = LocalFileSystem.getInstance(); + HashSet result = ContainerUtil.newHashSet(); + for (RootType rootType : RootType.getAllRootIds()) { + if (rootType.isHidden()) continue; + ContainerUtil.addIfNotNull(result, fileSystem.findFileByPath(instance.getRootPath(rootType))); + } + return result; + } + + @NotNull + @Override + public Set getAdditionalProjectRootsToIndex(@NotNull Project project) { + return Collections.emptySet(); + } + } } \ No newline at end of file diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml index f292a189d63d..5a3e3d9b91a4 100644 --- a/platform/platform-resources/src/META-INF/LangExtensions.xml +++ b/platform/platform-resources/src/META-INF/LangExtensions.xml @@ -359,6 +359,7 @@ +