Skip to content

Commit 1b623e8

Browse files
committed
split logic of TwigPathIndex
1 parent 0314b6f commit 1b623e8

19 files changed

+98
-89
lines changed

src/fr/adrienbrault/idea/symfony2plugin/templating/completion/TwigHtmlCompletionContributor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
7676
return;
7777
}
7878

79-
for (AssetFile assetFile : new AssetDirectoryReader().setProject(parameters.getPosition().getProject()).setFilterExtension(TwigUtil.CSS_FILES_EXTENSIONS).setIncludeBundleDir(false).getAssetFiles()) {
79+
for (AssetFile assetFile : new AssetDirectoryReader(TwigUtil.CSS_FILES_EXTENSIONS, false).getAssetFiles(parameters.getPosition().getProject())) {
8080
resultSet.addElement(new AssetLookupElement(assetFile, parameters.getPosition().getProject()).withInsertHandler(TwigAssetFunctionInsertHandler.getInstance()));
8181
}
8282
}
@@ -90,7 +90,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
9090
return;
9191
}
9292

93-
for (AssetFile assetFile : new AssetDirectoryReader().setProject(parameters.getPosition().getProject()).setFilterExtension(TwigUtil.JS_FILES_EXTENSIONS).setIncludeBundleDir(false).getAssetFiles()) {
93+
for (AssetFile assetFile : new AssetDirectoryReader(TwigUtil.JS_FILES_EXTENSIONS, false).getAssetFiles(parameters.getPosition().getProject())) {
9494
resultSet.addElement(new AssetLookupElement(assetFile, parameters.getPosition().getProject()).withInsertHandler(TwigAssetFunctionInsertHandler.getInstance()));
9595
}
9696
}
@@ -104,7 +104,7 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
104104
return;
105105
}
106106

107-
for (AssetFile assetFile : new AssetDirectoryReader().setProject(parameters.getPosition().getProject()).setFilterExtension(TwigUtil.IMG_FILES_EXTENSIONS).setIncludeBundleDir(false).getAssetFiles()) {
107+
for (AssetFile assetFile : new AssetDirectoryReader(TwigUtil.IMG_FILES_EXTENSIONS, false).getAssetFiles(parameters.getPosition().getProject())) {
108108
resultSet.addElement(new AssetLookupElement(assetFile, parameters.getPosition().getProject()).withInsertHandler(TwigAssetFunctionInsertHandler.getInstance()));
109109
}
110110
}

src/fr/adrienbrault/idea/symfony2plugin/templating/inspection/TwigAssetMissingInspection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void visitElement(PsiElement element) {
3636
}
3737

3838
private void invoke(@NotNull PsiElement element, @NotNull ProblemsHolder holder) {
39-
for (final AssetFile assetFile : new AssetDirectoryReader().setProject(element.getProject()).getAssetFiles()) {
39+
for (final AssetFile assetFile : new AssetDirectoryReader().getAssetFiles(element.getProject())) {
4040
if(assetFile.toString().equals(element.getText())) {
4141
return;
4242
}

src/fr/adrienbrault/idea/symfony2plugin/templating/path/BundleOverwriteNamespaceExtensions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.intellij.openapi.vfs.VirtualFile;
44
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtension;
55
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
6+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
67
import fr.adrienbrault.idea.symfony2plugin.util.SymfonyBundleUtil;
78
import org.jetbrains.annotations.NotNull;
89

@@ -23,7 +24,7 @@ public Collection<TwigPath> getNamespaces(@NotNull TwigNamespaceExtensionParamet
2324
new SymfonyBundleUtil(parameter.getProject()).getParentBundles().forEach((key, virtualFile) -> {
2425
VirtualFile views = virtualFile.getRelative("Resources/views");
2526
if (views != null) {
26-
twigPaths.add(new TwigPath(views.getPath(), key, TwigPathIndex.NamespaceType.BUNDLE));
27+
twigPaths.add(new TwigPath(views.getPath(), key, TwigUtil.NamespaceType.BUNDLE));
2728
}
2829
});
2930

src/fr/adrienbrault/idea/symfony2plugin/templating/path/BundleTwigNamespaceExtension.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.jetbrains.php.PhpIndex;
55
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtension;
66
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
7+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
78
import fr.adrienbrault.idea.symfony2plugin.util.SymfonyBundleUtil;
89
import fr.adrienbrault.idea.symfony2plugin.util.dict.SymfonyBundle;
910
import org.jetbrains.annotations.NotNull;
@@ -35,9 +36,9 @@ public Collection<TwigPath> getNamespaces(@NotNull TwigNamespaceExtensionParamet
3536

3637
String bundleName = bundle.getName();
3738

38-
twigPaths.add(new TwigPath(path, bundleName, TwigPathIndex.NamespaceType.BUNDLE));
39+
twigPaths.add(new TwigPath(path, bundleName, TwigUtil.NamespaceType.BUNDLE));
3940
if(bundleName.endsWith("Bundle")) {
40-
twigPaths.add(new TwigPath(path, bundleName.substring(0, bundleName.length() - 6), TwigPathIndex.NamespaceType.ADD_PATH));
41+
twigPaths.add(new TwigPath(path, bundleName.substring(0, bundleName.length() - 6), TwigUtil.NamespaceType.ADD_PATH));
4142
}
4243
}
4344

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ private Collection<TwigPath> getTwigPaths(@NotNull TwigNamespaceExtensionParamet
6363
// default path
6464
String first = stringStringPair.getFirst();
6565
if(first == null || first.equals("")) {
66-
first = TwigPathIndex.MAIN;
66+
first = TwigUtil.MAIN;
6767
}
6868

69-
twigPaths.add(new TwigPath(stringStringPair.getSecond(), first, TwigPathIndex.NamespaceType.ADD_PATH, true));
69+
twigPaths.add(new TwigPath(stringStringPair.getSecond(), first, TwigUtil.NamespaceType.ADD_PATH, true));
7070
}
7171
}
7272

src/fr/adrienbrault/idea/symfony2plugin/templating/path/GlobalAppTwigNamespaceExtension.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.intellij.openapi.vfs.VirtualFile;
55
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtension;
66
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
7+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
78
import fr.adrienbrault.idea.symfony2plugin.util.FilesystemUtil;
89
import org.jetbrains.annotations.NotNull;
910

@@ -42,8 +43,8 @@ public Collection<TwigPath> getNamespaces(@NotNull TwigNamespaceExtensionParamet
4243
Collection<TwigPath> paths = new ArrayList<>();
4344

4445
directories.stream().map(VirtualFile::getPath).forEach(path -> {
45-
paths.add(new TwigPath(path, TwigPathIndex.MAIN, TwigPathIndex.NamespaceType.BUNDLE));
46-
paths.add(new TwigPath(path, TwigPathIndex.MAIN, TwigPathIndex.NamespaceType.ADD_PATH));
46+
paths.add(new TwigPath(path, TwigUtil.MAIN, TwigUtil.NamespaceType.BUNDLE));
47+
paths.add(new TwigPath(path, TwigUtil.MAIN, TwigUtil.NamespaceType.ADD_PATH));
4748
});
4849

4950
return paths;

src/fr/adrienbrault/idea/symfony2plugin/templating/path/JsonFileIndexTwigNamespaces.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import fr.adrienbrault.idea.symfony2plugin.extension.TwigNamespaceExtensionParameter;
1919
import fr.adrienbrault.idea.symfony2plugin.templating.dict.TwigConfigJson;
2020
import fr.adrienbrault.idea.symfony2plugin.templating.path.dict.TwigPathJson;
21+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
2122
import fr.adrienbrault.idea.symfony2plugin.util.VfsExUtil;
2223
import org.apache.commons.lang.StringUtils;
2324
import org.jetbrains.annotations.NotNull;
@@ -119,18 +120,18 @@ public Result<Collection<TwigPath>> compute() {
119120

120121
String namespace = twigPath.getNamespace();
121122

122-
TwigPathIndex.NamespaceType pathType = TwigPathIndex.NamespaceType.ADD_PATH;
123+
TwigUtil.NamespaceType pathType = TwigUtil.NamespaceType.ADD_PATH;
123124
String type = twigPath.getType();
124125
if("bundle".equalsIgnoreCase(type)) {
125-
pathType = TwigPathIndex.NamespaceType.BUNDLE;
126+
pathType = TwigUtil.NamespaceType.BUNDLE;
126127
}
127128

128129
String namespacePath = StringUtils.stripStart(relativePath, "/");
129130

130131
if(StringUtils.isNotBlank(namespace)) {
131132
twigPaths.add(new TwigPath(namespacePath, namespace, pathType, true));
132133
} else {
133-
twigPaths.add(new TwigPath(namespacePath, TwigPathIndex.MAIN, pathType, true));
134+
twigPaths.add(new TwigPath(namespacePath, TwigUtil.MAIN, pathType, true));
134135
}
135136
}
136137

src/fr/adrienbrault/idea/symfony2plugin/templating/path/TwigNamespaceSetting.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.intellij.openapi.project.Project;
44
import com.intellij.util.xmlb.annotations.Attribute;
55
import com.intellij.util.xmlb.annotations.Tag;
6+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
67

78
/**
89
* @author Daniel Espendiller <daniel@espendiller.net>
@@ -11,19 +12,19 @@
1112
public class TwigNamespaceSetting {
1213

1314
private String path;
14-
private String namespace = TwigPathIndex.MAIN;
15+
private String namespace = TwigUtil.MAIN;
1516
private boolean isEnabled = true;
16-
private TwigPathIndex.NamespaceType namespaceType;
17+
private TwigUtil.NamespaceType namespaceType;
1718
private boolean custom = false;
1819

19-
public TwigNamespaceSetting(String namespace, String path, Boolean enabled, TwigPathIndex.NamespaceType namespaceType) {
20+
public TwigNamespaceSetting(String namespace, String path, Boolean enabled, TwigUtil.NamespaceType namespaceType) {
2021
this.namespace = namespace;
2122
this.path = path;
2223
this.isEnabled = enabled;
2324
this.namespaceType = namespaceType;
2425
}
2526

26-
public TwigNamespaceSetting(String namespace, String path, Boolean enabled, TwigPathIndex.NamespaceType namespaceType, boolean custom) {
27+
public TwigNamespaceSetting(String namespace, String path, Boolean enabled, TwigUtil.NamespaceType namespaceType, boolean custom) {
2728
this(namespace, path, enabled,namespaceType);
2829
this.custom = custom;
2930
}
@@ -32,11 +33,11 @@ public TwigNamespaceSetting() {
3233
}
3334

3435
@Attribute("namespaceType")
35-
public TwigPathIndex.NamespaceType getNamespaceType() {
36+
public TwigUtil.NamespaceType getNamespaceType() {
3637
return namespaceType;
3738
}
3839

39-
public void setNamespaceType(TwigPathIndex.NamespaceType namespaceType) {
40+
public void setNamespaceType(TwigUtil.NamespaceType namespaceType) {
4041
this.namespaceType = namespaceType;
4142
}
4243

src/fr/adrienbrault/idea/symfony2plugin/templating/path/TwigPath.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.intellij.openapi.util.io.FileUtil;
55
import com.intellij.openapi.vfs.VfsUtil;
66
import com.intellij.openapi.vfs.VirtualFile;
7+
import fr.adrienbrault.idea.symfony2plugin.templating.util.TwigUtil;
78
import org.jetbrains.annotations.NotNull;
89
import org.jetbrains.annotations.Nullable;
910

@@ -18,16 +19,16 @@ public class TwigPath implements Comparable<TwigPath> {
1819
private String path;
1920

2021
@NotNull
21-
private String namespace = TwigPathIndex.MAIN;
22+
private String namespace = TwigUtil.MAIN;
2223

2324
@NotNull
24-
private TwigPathIndex.NamespaceType namespaceType = TwigPathIndex.NamespaceType.ADD_PATH;
25+
private TwigUtil.NamespaceType namespaceType = TwigUtil.NamespaceType.ADD_PATH;
2526

2627
private boolean enabled = true;
2728
private boolean customPath = false;
2829

2930
@NotNull
30-
public TwigPathIndex.NamespaceType getNamespaceType() {
31+
public TwigUtil.NamespaceType getNamespaceType() {
3132
return namespaceType;
3233
}
3334

@@ -40,7 +41,7 @@ public TwigPath(@NotNull String path, @NotNull String namespace) {
4041
this.namespace = namespace;
4142
}
4243

43-
public TwigPath(@NotNull String path, @NotNull String namespace, @NotNull TwigPathIndex.NamespaceType namespaceType, boolean customPath) {
44+
public TwigPath(@NotNull String path, @NotNull String namespace, @NotNull TwigUtil.NamespaceType namespaceType, boolean customPath) {
4445
this(path, namespace, namespaceType);
4546
this.customPath = customPath;
4647
}
@@ -58,7 +59,7 @@ public TwigPath clone() {
5859
return twigPath;
5960
}
6061

61-
public TwigPath(@NotNull String path, @NotNull String namespace, @NotNull TwigPathIndex.NamespaceType namespaceType) {
62+
public TwigPath(@NotNull String path, @NotNull String namespace, @NotNull TwigUtil.NamespaceType namespaceType) {
6263
this(path, namespace);
6364
this.namespaceType = namespaceType;
6465
}
@@ -69,7 +70,7 @@ public String getNamespace() {
6970
}
7071

7172
public boolean isGlobalNamespace() {
72-
return getNamespace().equals(TwigPathIndex.MAIN);
73+
return getNamespace().equals(TwigUtil.MAIN);
7374
}
7475

7576
@Nullable
Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,35 @@
11
package fr.adrienbrault.idea.symfony2plugin.templating.path;
22

3+
import org.jetbrains.annotations.NotNull;
4+
35
import java.util.ArrayList;
46
import java.util.List;
57

68
/**
79
* @author Daniel Espendiller <daniel@espendiller.net>
810
*/
911
public class TwigPathIndex {
10-
11-
final public static String MAIN = "__main__";
12-
12+
@NotNull
1313
private List<TwigPath> twigPaths = new ArrayList<>();
1414

15-
public TwigPathIndex addPath(TwigPath twigPath) {
16-
this.twigPaths.add(twigPath);
17-
return this;
15+
void addPath(@NotNull TwigPath twigPath) {
16+
twigPaths.add(twigPath);
1817
}
1918

20-
synchronized public List<TwigPath> getTwigPaths() {
19+
@NotNull
20+
List<TwigPath> getTwigPaths() {
2121
return twigPaths;
2222
}
2323

2424
public List<TwigPath> getNamespacePaths(String namespace) {
25-
ArrayList<TwigPath> twigPaths = new ArrayList<>();
25+
List<TwigPath> twigPaths = new ArrayList<>();
26+
2627
for(TwigPath twigPath: this.getTwigPaths()) {
2728
if(twigPath.getNamespace().equals(namespace)) {
2829
twigPaths.add(twigPath);
2930
}
3031
}
31-
return twigPaths;
32-
}
3332

34-
public enum NamespaceType {
35-
BUNDLE, ADD_PATH
33+
return twigPaths;
3634
}
37-
3835
}

0 commit comments

Comments
 (0)