diff --git a/plugins/env-files-support/src/main/java/ru/adelf/idea/dotenv/util/EnvironmentVariablesProviderUtil.java b/plugins/env-files-support/src/main/java/ru/adelf/idea/dotenv/util/EnvironmentVariablesProviderUtil.java index 2a13584583a9..f86740899a73 100644 --- a/plugins/env-files-support/src/main/java/ru/adelf/idea/dotenv/util/EnvironmentVariablesProviderUtil.java +++ b/plugins/env-files-support/src/main/java/ru/adelf/idea/dotenv/util/EnvironmentVariablesProviderUtil.java @@ -1,31 +1,27 @@ package ru.adelf.idea.dotenv.util; +import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.extensions.Extensions; +import org.jetbrains.annotations.NotNull; import ru.adelf.idea.dotenv.api.EnvironmentVariablesProvider; import ru.adelf.idea.dotenv.api.EnvironmentVariablesUsagesProvider; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - public class EnvironmentVariablesProviderUtil { - public static final Set PROVIDERS = getEnvVariablesProviders(); + public static final EnvironmentVariablesProvider[] PROVIDERS = getEnvVariablesProviders(); - public static final Set USAGES_PROVIDERS = getEnvVariablesUsagesProviders(); + public static final EnvironmentVariablesUsagesProvider[] USAGES_PROVIDERS = getEnvVariablesUsagesProviders(); - private static Set getEnvVariablesProviders() { - Set providers = new HashSet<>(); - - Collections.addAll(providers, Extensions.getExtensions("ru.adelf.idea.dotenv.environmentVariablesProvider", null) ); - - return providers; + private static EnvironmentVariablesProvider[] getEnvVariablesProviders() { + return getExtensions("ru.adelf.idea.dotenv.environmentVariablesProvider"); } - private static Set getEnvVariablesUsagesProviders() { - Set providers = new HashSet<>(); + private static EnvironmentVariablesUsagesProvider[] getEnvVariablesUsagesProviders() { + return getExtensions("ru.adelf.idea.dotenv.environmentVariablesUsagesProvider"); + } - Collections.addAll(providers, Extensions.getExtensions("ru.adelf.idea.dotenv.environmentVariablesUsagesProvider", null)); + private static T[] getExtensions(@NotNull String name) { + ExtensionPointName pointName = new ExtensionPointName<>(name); - return providers; + return Extensions.getRootArea().getExtensionPoint(pointName).getExtensions(); } }