Split app and global settings

This commit is contained in:
林万程
2023-10-11 22:07:11 +08:00
parent f41dce0241
commit 86a8957a40
19 changed files with 182 additions and 36 deletions

View File

@@ -183,7 +183,7 @@ public abstract class BaseLangDoc extends EditorLinePainter {
return null;
}
@NotNull String cutDoc = DocFilter.cutDoc(s, lineInfo.appSettings, true);
@NotNull String filterDoc = DocFilter.filterDoc(cutDoc, lineInfo.appSettings, lineInfo.projectSettings);
@NotNull String filterDoc = DocFilter.filterDoc(cutDoc, lineInfo.globalSettings, lineInfo.projectSettings);
if (filterDoc.trim().isEmpty()) {
return null;
}

View File

@@ -24,7 +24,7 @@ public abstract class BaseTagLangDoc<DocElement> extends BaseLangDoc {
}
// desc
@NotNull String descDoc = descDoc(lineInfo, docElement).trim();
@NotNull String desc = DocFilter.filterDoc(descDoc, lineInfo.appSettings, lineInfo.projectSettings);
@NotNull String desc = DocFilter.filterDoc(descDoc, lineInfo.globalSettings, lineInfo.projectSettings);
// tag
@NotNull StringBuilder tagStrBuilder = new StringBuilder();
@NotNull String[] names = lineInfo.tagNames();

View File

@@ -1,6 +1,7 @@
package io.github.linwancen.plugin.show.lang.base;
import io.github.linwancen.plugin.show.settings.AppSettingsState;
import io.github.linwancen.plugin.show.settings.GlobalSettingsState;
import io.github.linwancen.plugin.show.settings.ProjectSettingsState;
import org.jetbrains.annotations.NotNull;
@@ -63,20 +64,20 @@ public class DocFilter {
*/
@NotNull
public static String filterDoc(@NotNull String text,
@NotNull AppSettingsState appSettings,
@NotNull GlobalSettingsState globalSettingsState,
@NotNull ProjectSettingsState projectSettings) {
// docGetEffect first because default false
if (projectSettings.docGetEffect && projectSettings.projectFilterEffective) {
return filterDoc(text, projectSettings.docGet);
} else if (appSettings.docGetEffect && projectSettings.globalFilterEffective) {
return filterDoc(text, appSettings.docGet);
return filterPattern(text, projectSettings.docGet);
} else if (globalSettingsState.docGetEffect && projectSettings.globalFilterEffective) {
return filterPattern(text, globalSettingsState.docGet);
} else {
return text;
}
}
@NotNull
public static String filterDoc(@NotNull String text, @NotNull Pattern docGet) {
public static String filterPattern(@NotNull String text, @NotNull Pattern docGet) {
// if effect skip check empty
@NotNull Matcher m = docGet.matcher(text);
if (m.find()) {
@@ -94,7 +95,7 @@ public class DocFilter {
public static void addHtml(@NotNull StringBuilder sb, @NotNull String s) {
@NotNull String deleteHtml = html2Text(s);
if (!deleteHtml.isEmpty()) {
sb.append(deleteHtml);
sb.append(deleteHtml).append(" ");
}
}

View File

@@ -12,7 +12,7 @@ public class DocSkip {
public static <T extends SettingsInfo> boolean skipSign(@NotNull T settingsInfo, String text) {
return skipText(settingsInfo, text,
settingsInfo.appSettings.lineInclude, settingsInfo.appSettings.lineExclude,
settingsInfo.globalSettings.lineInclude, settingsInfo.globalSettings.lineExclude,
settingsInfo.projectSettings.lineInclude, settingsInfo.projectSettings.lineExclude);
}
@@ -23,7 +23,7 @@ public class DocSkip {
return true;
}
return skipText(settingsInfo, text,
settingsInfo.appSettings.docInclude, settingsInfo.appSettings.docExclude,
settingsInfo.globalSettings.docInclude, settingsInfo.globalSettings.docExclude,
settingsInfo.projectSettings.docInclude, settingsInfo.projectSettings.docExclude);
}