files = ReadAction.computeBlocking(() -> filesToScan.stream()
.filter(file -> {
progressIndicator.setFraction((double)counter.incrementAndGet() / totalFiles);
progressIndicator.setText2(file != null ? file.getName() : null);
diff --git a/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java b/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java
index ddd594a..947dfff 100644
--- a/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java
+++ b/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java
@@ -178,8 +178,7 @@ public void apply(
+ ""
+ ruleDescriptionDocMarkdownToHtmlService.mdToHtml(rule.getDescription())
+ "
")
- .range(range)
- .needsUpdateOnTyping(true);
+ .range(range);
if(psiElement != null)
{
diff --git a/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java b/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java
index 57b7f6f..b06ccc0 100644
--- a/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java
+++ b/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java
@@ -77,7 +77,7 @@ private void reportAnalysisResultInternal(
return;
}
- final Optional optPSIFile = ReadAction.compute(() -> Optional.of(editor)
+ final Optional optPSIFile = ReadAction.computeBlocking(() -> Optional.of(editor)
.map(Editor::getDocument)
.map(FileDocumentManager.getInstance()::getFile)
.flatMap(this::findPSIFile));
diff --git a/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java b/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java
index 8aad795..f3a26f9 100644
--- a/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java
+++ b/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java
@@ -29,7 +29,7 @@ public FileOverviewNode(final PsiFile psiFile)
{
this.psiFile = psiFile;
// Icon requires read access so let's get it here
- this.icon = ReadAction.compute(() -> psiFile.getIcon(0));
+ this.icon = ReadAction.computeBlocking(() -> psiFile.getIcon(0));
this.filePositionSupplier = Suppliers.memoize(() -> new FilePosition(psiFile));
}