Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.uom.lefterisxris.codetour.tours.service;

import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.JBPopupFactory;
Expand Down Expand Up @@ -38,12 +39,12 @@ public static void navigate(@NotNull Step step, @NotNull Project project) {
return;
}

// Try finding the appropriate file to navigate to
// Try finding the appropriate file to navigate to. The index lookup requires a read action
final String stepFileName = Paths.get(step.getFile()).getFileName().toString();
final List<VirtualFile> validVirtualFiles = FilenameIndex
final List<VirtualFile> validVirtualFiles = ReadAction.compute(() -> FilenameIndex
.getVirtualFilesByName(stepFileName, GlobalSearchScope.projectScope(project)).stream()
.filter(file -> Utils.isFileMatchesStep(file, step))
.collect(Collectors.toList());
.collect(Collectors.toList()));

if (validVirtualFiles.isEmpty()) {
// Case for configured but not found file
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.uom.lefterisxris.codetour.tours.state;

import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.MessageDialogBuilder;
Expand Down Expand Up @@ -41,10 +42,10 @@ public static void validateTours(@NotNull Project project, List<Tour> tours) {

// Try finding the appropriate file
final String stepFileName = Paths.get(step.getFile()).getFileName().toString();
final List<VirtualFile> validVirtualFiles = FilenameIndex
final List<VirtualFile> validVirtualFiles = ReadAction.compute(() -> FilenameIndex
.getVirtualFilesByName(stepFileName, GlobalSearchScope.projectScope(project)).stream()
.filter(file -> Utils.isFileMatchesStep(file, step))
.collect(Collectors.toList());
.collect(Collectors.toList()));

if (validVirtualFiles.isEmpty())
errors.add(String.format("Step '%s' of Tour '%s' points to a non valid file: '%s'!\n",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.uom.lefterisxris.codetour.tours.ui;

import com.intellij.icons.AllIcons;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.project.Project;
Expand Down Expand Up @@ -400,8 +401,8 @@ private void editTourListener(Tour tour) {

private void jumpToSourceTourListener(Tour tour) {
SlowOperations.allowSlowOperations(() -> {
final Collection<VirtualFile> virtualFiles = FilenameIndex.getVirtualFilesByName(tour.getTourFile(),
GlobalSearchScope.projectScope(project));
final Collection<VirtualFile> virtualFiles = ReadAction.compute(() ->
FilenameIndex.getVirtualFilesByName(tour.getTourFile(), GlobalSearchScope.projectScope(project)));
final Optional<VirtualFile> virtualFile = virtualFiles.stream()
.filter(file -> !file.isDirectory() && file.getName().equals(tour.getTourFile()))
.findFirst();
Expand Down
Loading