Skip to content

Commit

Permalink
add Symfony flex path for Twig templates #922
Browse files Browse the repository at this point in the history
  • Loading branch information
Haehnchen committed Sep 23, 2017
1 parent 590340f commit 6f40269
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,7 @@
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.ContainerTwigNamespaceExtension"/>
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.GlobalAppTwigNamespaceExtension"/>
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.BundleTwigNamespaceExtension"/>
<TwigNamespaceExtension implementation="fr.adrienbrault.idea.symfony2plugin.templating.path.FlexTwigNamespaceExtension"/>

<ServiceCollector implementation="fr.adrienbrault.idea.symfony2plugin.dic.DefaultServiceCollector"/>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package fr.adrienbrault.idea.symfony2plugin.templating.path;

import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtension;
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
import org.jetbrains.annotations.NotNull;
;
import java.util.Collection;
import java.util.Collections;

/**
* https://symfony.com/doc/current/setup/flex.html#upgrading-existing-applications-to-flex
*
* /templates
*
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class FlexTwigNamespaceExtension implements TwigNamespaceExtension {
@NotNull
@Override
public Collection<TwigPath> getNamespaces(@NotNull TwigNamespaceExtensionParameter parameter) {
VirtualFile templatesDirectory = VfsUtil.findRelativeFile(parameter.getProject().getBaseDir(), "templates");
if(templatesDirectory == null) {
return Collections.emptyList();
}

String path = templatesDirectory.getPath();
return Collections.singletonList(
new TwigPath(path, TwigPathIndex.MAIN, TwigPathIndex.NamespaceType.ADD_PATH)
);
}
}

0 comments on commit 6f40269

Please sign in to comment.