From 792a415b9f6ef335a10d7dfc2d1efd7532c07e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Mon, 31 Oct 2022 22:21:58 +0800 Subject: [PATCH] DumbService for Tree doc --- .../io/github/linwancen/plugin/show/Tree.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/Tree.java b/src/main/java/io/github/linwancen/plugin/show/Tree.java index 09a6789..fd1d55a 100644 --- a/src/main/java/io/github/linwancen/plugin/show/Tree.java +++ b/src/main/java/io/github/linwancen/plugin/show/Tree.java @@ -12,9 +12,9 @@ import com.intellij.psi.PsiElement; import com.intellij.ui.ColoredTreeCellRenderer; import com.intellij.ui.SimpleTextAttributes; import io.github.linwancen.plugin.show.bean.FuncEnum; +import io.github.linwancen.plugin.show.bean.SettingsInfo; import io.github.linwancen.plugin.show.ext.TreeExt; import io.github.linwancen.plugin.show.lang.base.BaseLangDoc; -import io.github.linwancen.plugin.show.bean.SettingsInfo; import io.github.linwancen.plugin.show.settings.AppSettingsState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -36,17 +36,18 @@ public class Tree implements ProjectViewNodeDecorator { if (DumbService.isDumb(project)) { return; } - ApplicationManager.getApplication().runReadAction(() -> { - @Nullable String doc = treeDoc(node, project); - if (doc == null) { - return; - } - @NotNull List coloredText = data.getColoredText(); - if (coloredText.isEmpty()) { - data.addText(data.getPresentableText(), SimpleTextAttributes.REGULAR_ATTRIBUTES); - } - data.addText(" " + doc, SimpleTextAttributes.GRAY_ATTRIBUTES); - }); + DumbService.getInstance(project).runReadActionInSmartMode(() -> + ApplicationManager.getApplication().runReadAction(() -> { + @Nullable String doc = treeDoc(node, project); + if (doc == null) { + return; + } + @NotNull List coloredText = data.getColoredText(); + if (coloredText.isEmpty()) { + data.addText(data.getPresentableText(), SimpleTextAttributes.REGULAR_ATTRIBUTES); + } + data.addText(" " + doc, SimpleTextAttributes.GRAY_ATTRIBUTES); + })); } @Nullable