From 92380697ff8d7a2eb37ff8b6c71734bcde3745c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Tue, 12 Dec 2023 18:40:37 +0800 Subject: [PATCH] effective rel file doc both project global --- .../linwancen/plugin/show/lang/base/DocFilter.java | 2 ++ .../linwancen/plugin/show/tree/RelFileDoc.java | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/DocFilter.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/DocFilter.java index ba617d4..f7c8b49 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/DocFilter.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/DocFilter.java @@ -55,6 +55,7 @@ public class DocFilter { public static boolean lineCountOrLenOver(@NotNull T info, @NotNull StringBuilder sb, int lineCount) { + // can not effective both if (info.projectSettings.projectFilterEffective) { return lineCountOrLenOverInfo(info.projectSettings, sb, lineCount); } else if (info.projectSettings.globalFilterEffective) { @@ -78,6 +79,7 @@ public class DocFilter { public static String filterDoc(@NotNull String text, @NotNull GlobalSettingsState globalSettingsState, @NotNull ProjectSettingsState projectSettings) { + // not effective both because regexp is slow // docGetEffect first because default false if (projectSettings.docGetEffect && projectSettings.projectFilterEffective) { return filterPattern(text, projectSettings.docGet); diff --git a/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java b/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java index 6acab3f..3d2e064 100644 --- a/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java @@ -7,6 +7,7 @@ import io.github.linwancen.plugin.show.bean.SettingsInfo; import io.github.linwancen.plugin.show.settings.AbstractSettingsState; import io.github.linwancen.plugin.show.settings.GlobalSettingsState; import io.github.linwancen.plugin.show.settings.ProjectSettingsState; +import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -17,12 +18,15 @@ public class RelFileDoc { @NotNull ProjectSettingsState projectSettings = settingsInfo.projectSettings; @NotNull GlobalSettingsState globalSettings = settingsInfo.globalSettings; if (projectSettings.projectFilterEffective) { - return relDoc(node, projectSettings); - } else if (projectSettings.globalFilterEffective) { - return relDoc(node, globalSettings); - } else { - return null; + @Nullable String doc = relDoc(node, projectSettings); + if (StringUtils.isNotBlank(doc)) { + return doc; + } } + if (projectSettings.globalFilterEffective) { + return relDoc(node, globalSettings); + } + return null; } @Nullable