Skip to content

Commit 1c6fb29

Browse files
committed
fix cache context for Twig namespaces extension
1 parent cd943e2 commit 1c6fb29

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/path/ConfigAddPathTwigNamespaces.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtension;
1515
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
1616
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
17+
import fr.adrienbrault.idea.symfony2plugin.util.PsiElementUtils;
1718
import org.jetbrains.annotations.NotNull;
1819
import org.jetbrains.yaml.psi.YAMLFile;
1920

@@ -42,21 +43,22 @@ public Collection<TwigPath> getNamespaces(@NotNull TwigNamespaceExtensionParamet
4243
return CachedValuesManager.getManager(project).getCachedValue(
4344
project,
4445
CACHE,
45-
() -> CachedValueProvider.Result.create(getTwigPaths(parameter), PsiModificationTracker.MODIFICATION_COUNT),
46+
() -> CachedValueProvider.Result.create(getTwigPaths(project), PsiModificationTracker.MODIFICATION_COUNT),
4647
false
4748
);
4849
}
4950

5051
@NotNull
51-
private static Collection<TwigPath> getTwigPaths(@NotNull TwigNamespaceExtensionParameter parameter) {
52+
private static Collection<TwigPath> getTwigPaths(@NotNull Project project) {
5253
Collection<TwigPath> twigPaths = new ArrayList<>();
5354

54-
for (VirtualFile file : ConfigUtil.getConfigurations(parameter.getProject(), "twig")) {
55-
PsiFile psiFile = PsiManager.getInstance(parameter.getProject()).findFile(file);
56-
if(!(psiFile instanceof YAMLFile)) {
57-
continue;
58-
}
55+
// file config files a eg ".../app/..." or "../packages/..."
56+
Collection<PsiFile> psiFiles = PsiElementUtils.convertVirtualFilesToPsiFiles(
57+
project,
58+
ConfigUtil.getConfigurations(project, "twig")
59+
);
5960

61+
for (PsiFile psiFile : psiFiles) {
6062
for (Pair<String, String> stringStringPair : TwigUtil.getTwigPathFromYamlConfigResolved((YAMLFile) psiFile)) {
6163
// default path
6264
String first = stringStringPair.getFirst();

0 commit comments

Comments
 (0)