effective rel file doc both project global

This commit is contained in:
林万程
2023-12-12 18:40:37 +08:00
parent 7129f0031c
commit 92380697ff
2 changed files with 11 additions and 5 deletions

View File

@@ -55,6 +55,7 @@ public class DocFilter {
public static <T extends SettingsInfo> boolean lineCountOrLenOver(@NotNull T info, public static <T extends SettingsInfo> boolean lineCountOrLenOver(@NotNull T info,
@NotNull StringBuilder sb, int lineCount) { @NotNull StringBuilder sb, int lineCount) {
// can not effective both
if (info.projectSettings.projectFilterEffective) { if (info.projectSettings.projectFilterEffective) {
return lineCountOrLenOverInfo(info.projectSettings, sb, lineCount); return lineCountOrLenOverInfo(info.projectSettings, sb, lineCount);
} else if (info.projectSettings.globalFilterEffective) { } else if (info.projectSettings.globalFilterEffective) {
@@ -78,6 +79,7 @@ public class DocFilter {
public static String filterDoc(@NotNull String text, public static String filterDoc(@NotNull String text,
@NotNull GlobalSettingsState globalSettingsState, @NotNull GlobalSettingsState globalSettingsState,
@NotNull ProjectSettingsState projectSettings) { @NotNull ProjectSettingsState projectSettings) {
// not effective both because regexp is slow
// docGetEffect first because default false // docGetEffect first because default false
if (projectSettings.docGetEffect && projectSettings.projectFilterEffective) { if (projectSettings.docGetEffect && projectSettings.projectFilterEffective) {
return filterPattern(text, projectSettings.docGet); return filterPattern(text, projectSettings.docGet);

View File

@@ -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.AbstractSettingsState;
import io.github.linwancen.plugin.show.settings.GlobalSettingsState; import io.github.linwancen.plugin.show.settings.GlobalSettingsState;
import io.github.linwancen.plugin.show.settings.ProjectSettingsState; import io.github.linwancen.plugin.show.settings.ProjectSettingsState;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -17,12 +18,15 @@ public class RelFileDoc {
@NotNull ProjectSettingsState projectSettings = settingsInfo.projectSettings; @NotNull ProjectSettingsState projectSettings = settingsInfo.projectSettings;
@NotNull GlobalSettingsState globalSettings = settingsInfo.globalSettings; @NotNull GlobalSettingsState globalSettings = settingsInfo.globalSettings;
if (projectSettings.projectFilterEffective) { if (projectSettings.projectFilterEffective) {
return relDoc(node, projectSettings); @Nullable String doc = relDoc(node, projectSettings);
} else if (projectSettings.globalFilterEffective) { if (StringUtils.isNotBlank(doc)) {
return relDoc(node, globalSettings); return doc;
} else { }
return null;
} }
if (projectSettings.globalFilterEffective) {
return relDoc(node, globalSettings);
}
return null;
} }
@Nullable @Nullable