ext conf package

This commit is contained in:
林万程
2023-12-24 09:34:14 +08:00
parent ed33a94fcc
commit 617e1d0748
10 changed files with 36 additions and 22 deletions

View File

@@ -38,7 +38,7 @@ public class ConfCache {
@Nullable
public static Pattern pattern(@Nullable Project project,
@NotNull Map<String, Map<String, List<String>>> keyMap, @NotNull String path) {
return ConfFactory.buildPattern(project, path, keyMap);
return SpiltKeyWordPatternFactory.from(project, path, keyMap);
}
@NotNull
@@ -70,7 +70,7 @@ public class ConfCache {
return ConfCacheGetUtils.filterPath(JSON_CACHE, path);
}
static void clearAll() {
public static void clearAll() {
EXT_IN_KEY_CACHE.clear();
KEY_CACHE.clear();
DOC_CACHE.clear();
@@ -78,7 +78,7 @@ public class ConfCache {
JSON_CACHE.clear();
}
static void remove(@NotNull VirtualFile file, @Nullable String name) {
public static void remove(@NotNull VirtualFile file, @Nullable String name) {
if (name != null) {
int i = name.lastIndexOf('.');
name = name.substring(0, i);
@@ -96,7 +96,7 @@ public class ConfCache {
}
}
static void copy(@NotNull VirtualFile file, @NotNull VirtualFile newFile) {
public static void copy(@NotNull VirtualFile file, @NotNull VirtualFile newFile) {
@NotNull String name = file.getNameWithoutExtension();
if (name.endsWith(KEY_MID_EXT)) {
copyCache(file, newFile, KEY_CACHE);
@@ -117,7 +117,7 @@ public class ConfCache {
}
}
static void loadAll(@NotNull Project project) {
public static void loadAll(@NotNull Project project) {
DumbService.getInstance(project).smartInvokeLater(() -> {
@NotNull Collection<VirtualFile> files = FilenameIndex.getAllFilesByExt(project, TsvLoader.EXT);
@NotNull StringBuilder sb = new StringBuilder();
@@ -135,7 +135,7 @@ public class ConfCache {
});
}
static void loadFile(@NotNull VirtualFile file, @Nullable Project project) {
public static void loadFile(@NotNull VirtualFile file, @Nullable Project project) {
ApplicationManager.getApplication().invokeLater(() -> {
ConfCache.load(file);
if (project != null && !project.isDisposed()) {

View File

@@ -13,16 +13,16 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
class ConfFactory {
private static final Logger LOG = LoggerFactory.getLogger(ConfFactory.class);
class SpiltKeyWordPatternFactory {
private static final Logger LOG = LoggerFactory.getLogger(SpiltKeyWordPatternFactory.class);
private static final Pattern EMPTY_PATTERN = Pattern.compile("");
private static final Map<String, Pattern> PATTERN_CACHE = new ConcurrentHashMap<>();
private ConfFactory() {}
private SpiltKeyWordPatternFactory() {}
@Nullable
static Pattern buildPattern(@SuppressWarnings("unused") @Nullable Project project, @NotNull String path,
@NotNull Map<String, Map<String, List<String>>> map) {
static Pattern from(@SuppressWarnings("unused") @Nullable Project project, @NotNull String path,
@NotNull Map<String, Map<String, List<String>>> map) {
@NotNull Set<String> exclude = new LinkedHashSet<>();
@NotNull StringBuilder sb = new StringBuilder();
for (@NotNull Map<String, List<String>> keyMap : map.values()) {

View File

@@ -1,8 +1,9 @@
package io.github.linwancen.plugin.show.ext.conf;
package io.github.linwancen.plugin.show.ext.conf.action;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import io.github.linwancen.plugin.show.ext.conf.ConfCache;
import io.github.linwancen.plugin.show.settings.ShowBundle;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

View File

@@ -1,10 +1,11 @@
package io.github.linwancen.plugin.show.ext.conf;
package io.github.linwancen.plugin.show.ext.conf.action;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.project.Project;
import io.github.linwancen.plugin.show.ext.conf.ConfCache;
import io.github.linwancen.plugin.show.settings.ShowBundle;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

View File

@@ -0,0 +1,4 @@
/**
* call ConfCache clear and loadAll
*/
package io.github.linwancen.plugin.show.ext.conf.action;

View File

@@ -1,9 +1,10 @@
package io.github.linwancen.plugin.show.ext.conf;
package io.github.linwancen.plugin.show.ext.conf.listener;
import com.intellij.openapi.fileEditor.FileEditorManagerEvent;
import com.intellij.openapi.fileEditor.FileEditorManagerListener;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import io.github.linwancen.plugin.show.ext.conf.ConfCache;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;

View File

@@ -1,7 +1,8 @@
package io.github.linwancen.plugin.show.ext.conf;
package io.github.linwancen.plugin.show.ext.conf.listener;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManagerListener;
import io.github.linwancen.plugin.show.ext.conf.ConfCache;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@@ -1,8 +1,10 @@
package io.github.linwancen.plugin.show.ext.conf;
package io.github.linwancen.plugin.show.ext.conf.listener;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.newvfs.BulkFileListener;
import com.intellij.openapi.vfs.newvfs.events.*;
import io.github.linwancen.plugin.show.ext.conf.ConfCache;
import io.github.linwancen.plugin.show.ext.conf.TsvLoader;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;

View File

@@ -0,0 +1,4 @@
/**
* call ConfCache.load etc.
*/
package io.github.linwancen.plugin.show.ext.conf.listener;

View File

@@ -119,14 +119,14 @@ Show doc comment at the Project view Tree, line End, json, other
<!--<depends optional="true" config-file="cs.xml">com.intellij.modules.rider</depends>-->
<applicationListeners>
<listener class="io.github.linwancen.plugin.show.ext.conf.ConfFileListener"
<listener class="io.github.linwancen.plugin.show.ext.conf.listener.ConfFileListener"
topic="com.intellij.openapi.vfs.newvfs.BulkFileListener"/>
<listener class="io.github.linwancen.plugin.show.ext.conf.ConfFileChangeListener"
<listener class="io.github.linwancen.plugin.show.ext.conf.listener.ConfFileChangeListener"
topic="com.intellij.openapi.fileEditor.FileEditorManagerListener"/>
</applicationListeners>
<projectListeners>
<listener class="io.github.linwancen.plugin.show.ext.conf.ConfFileInitListener"
<listener class="io.github.linwancen.plugin.show.ext.conf.listener.ConfFileInitListener"
topic="com.intellij.openapi.project.ProjectManagerListener"/>
</projectListeners>
@@ -156,13 +156,13 @@ Show doc comment at the Project view Tree, line End, json, other
<actions>
<action
id="io.github.linwancen.plugin.show.ext.conf.ReLoadExtDocAction"
class="io.github.linwancen.plugin.show.ext.conf.ReloadExtDocAction"
class="io.github.linwancen.plugin.show.ext.conf.action.ReloadExtDocAction"
text="🔄 // Reload External Comment">
<add-to-group group-id="ToolsMenu"/>
</action>
<action
id="io.github.linwancen.plugin.show.ext.conf.ResetExtDocAction"
class="io.github.linwancen.plugin.show.ext.conf.ResetExtDocAction"
id="io.github.linwancen.plugin.show.ext.conf.action.ResetExtDocAction"
class="io.github.linwancen.plugin.show.ext.conf.action.ResetExtDocAction"
text="🆑 // Clear External Comment">
<add-to-group group-id="ToolsMenu"/>
</action>