diff --git a/src/main/java/org/jboss/tools/intellij/analytics/Platform.java b/src/main/java/org/jboss/tools/intellij/analytics/Platform.java index c09d536..41362d0 100644 --- a/src/main/java/org/jboss/tools/intellij/analytics/Platform.java +++ b/src/main/java/org/jboss/tools/intellij/analytics/Platform.java @@ -4,6 +4,9 @@ import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.util.SystemInfo; +import java.util.Arrays; +import java.util.List; + public class Platform { //Set Plugin location in host machine. Location will be used as download location. public static final String pluginDirectory = PluginManagerCore.getPlugin( @@ -32,4 +35,8 @@ private static Platform detect() { } public static final Platform current = detect(); + + // Set supported file names + public static final List supportedManifestFiles = Arrays.asList("pom.xml", + "package.json", "go.mod", "requirements.txt", "requirements-dev.txt"); } diff --git a/src/main/java/org/jboss/tools/intellij/analytics/PreloadLanguageServer.java b/src/main/java/org/jboss/tools/intellij/analytics/PreloadLanguageServer.java index 93c73c9..57f2348 100644 --- a/src/main/java/org/jboss/tools/intellij/analytics/PreloadLanguageServer.java +++ b/src/main/java/org/jboss/tools/intellij/analytics/PreloadLanguageServer.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; + import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PreloadingActivity; import com.intellij.openapi.progress.ProgressIndicator; @@ -14,14 +15,13 @@ public final class PreloadLanguageServer extends PreloadingActivity { private final ICookie cookies = ServiceManager.getService(Settings.class); private void attachLanguageClient(final File cliFile) { - final String[] EXTENSIONS = {"xml", "json", "txt"}; final String[] cmds = {cliFile.toString(), "--stdio"}; ApplicationManager.getApplication().invokeAndWait(() -> { - for (String ext : EXTENSIONS) { + Platform.supportedManifestFiles.stream().map(s -> s.substring(s.lastIndexOf('.') + 1)).distinct().forEach(ext -> { AnalyticsLanguageServerDefinition serverDefinition = new AnalyticsLanguageServerDefinition(ext, cmds); IntellijLanguageClient.addServerDefinition(serverDefinition); - IntellijLanguageClient.addExtensionManager(ext, serverDefinition); - } + IntellijLanguageClient.addExtensionManager(ext, serverDefinition);} + ); }); log.warn(String.format("lsp registration done %s", cliFile)); } diff --git a/src/main/java/org/jboss/tools/intellij/stackanalysis/SaAction.java b/src/main/java/org/jboss/tools/intellij/stackanalysis/SaAction.java index 4904124..8ca7d48 100644 --- a/src/main/java/org/jboss/tools/intellij/stackanalysis/SaAction.java +++ b/src/main/java/org/jboss/tools/intellij/stackanalysis/SaAction.java @@ -21,9 +21,8 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; +import org.jboss.tools.intellij.analytics.Platform; import org.jetbrains.annotations.NotNull; -import java.util.Arrays; -import java.util.List; public class SaAction extends AnAction { @@ -69,16 +68,12 @@ public void actionPerformed(@NotNull AnActionEvent event) { */ @Override public void update(AnActionEvent event) { - // Set supported file names - List supportedManifestFiles = Arrays.asList("pom.xml", "package.json", - "requirements.txt", "requirements-dev.txt", "go.mod"); - PsiFile psiFile = event.getData(CommonDataKeys.PSI_FILE); // Check if file where context menu is opened is type of supported extension. // If yes then show the action for SA in menu if (psiFile != null) { - event.getPresentation().setEnabledAndVisible(supportedManifestFiles + event.getPresentation().setEnabledAndVisible(Platform.supportedManifestFiles .contains(psiFile.getName())); } else { event.getPresentation().setEnabledAndVisible(false); diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 3592fcb..c25437b 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -43,7 +43,7 @@

Quick Start