in src/main/java/lt/martynassateika/idea/codeigniter/view/ViewCompletionProvider.java [56:90]
protected void addCompletions(@NotNull CompletionParameters completionParameters,
@NotNull ProcessingContext processingContext, @NotNull CompletionResultSet resultSet) {
PsiElement originalPosition = completionParameters.getOriginalPosition();
if (originalPosition != null) {
Project project = originalPosition.getProject();
if (CodeIgniterProjectSettings.getInstance(project).isEnabled()) {
if (isViewNameElement(originalPosition)) {
List<PsiFileSystemItem> viewDirectories = CiViewUtil.getViewDirectories(project);
for (PsiFileSystemItem viewDirectory : viewDirectories) {
VirtualFile directoryVirtualFile = viewDirectory.getVirtualFile();
VirtualFile applicationDirectory = directoryVirtualFile.getParent();
VfsUtil
.visitChildrenRecursively(directoryVirtualFile, new VirtualFileVisitor<Object>() {
@Override
public boolean visitFile(@NotNull VirtualFile file) {
if (!file.isDirectory()) {
String relativePath = VfsUtilCompat
.findRelativePath(directoryVirtualFile, file, '/');
if (StringUtil.isNotEmpty(relativePath)) {
Icon icon = file.getFileType().getIcon();
resultSet.addElement(new BasicFileLookupElement(
PhpExtensionUtil.removeIfPresent(relativePath.toLowerCase()),
applicationDirectory,
icon
));
}
}
return true;
}
});
}
}
}
}
}