|
14 | 14 | import java.io.File;
|
15 | 15 | import java.io.FileOutputStream;
|
16 | 16 | import java.util.ArrayList;
|
17 |
| -import java.util.Arrays; |
18 | 17 | import java.util.HashSet;
|
19 | 18 | import java.util.List;
|
20 | 19 | import java.util.Objects;
|
|
34 | 33 | import org.eclipse.core.runtime.IProgressMonitor;
|
35 | 34 | import org.eclipse.core.runtime.NullProgressMonitor;
|
36 | 35 | import org.eclipse.core.runtime.Path;
|
| 36 | +import org.apache.commons.io.FilenameUtils; |
37 | 37 | import org.eclipse.core.resources.IFile;
|
38 | 38 | import org.eclipse.jdt.core.search.IJavaSearchScope;
|
39 | 39 | import org.eclipse.jdt.core.search.SearchEngine;
|
|
56 | 56 | import org.eclipse.jdt.ls.core.internal.managers.UpdateClasspathJob;
|
57 | 57 | import org.eclipse.jdt.ls.core.internal.preferences.Preferences.ReferencedLibraries;
|
58 | 58 |
|
59 |
| -import com.microsoft.jdtls.ext.core.model.NodeKind; |
60 | 59 | import com.microsoft.jdtls.ext.core.model.PackageNode;
|
61 | 60 | import org.eclipse.lsp4j.jsonrpc.json.adapters.CollectionTypeAdapter;
|
62 | 61 | import org.eclipse.lsp4j.jsonrpc.json.adapters.EnumTypeAdapter;
|
@@ -90,15 +89,15 @@ public static List<PackageNode> listProjects(List<Object> arguments, IProgressMo
|
90 | 89 |
|
91 | 90 | IProject[] projects = getWorkspaceRoot().getProjects();
|
92 | 91 | ArrayList<PackageNode> children = new ArrayList<>();
|
93 |
| - List<IPath> paths = Arrays.asList(workspacePath); |
94 | 92 | for (IProject project : projects) {
|
95 |
| - if (!ProjectUtils.isJavaProject(project)) { |
| 93 | + if (!project.isAccessible() || !ProjectUtils.isJavaProject(project) || Objects.equals(project, JavaLanguageServerPlugin.getProjectsManager().getDefaultProject())) { |
96 | 94 | continue;
|
97 | 95 | }
|
98 |
| - if (project.exists() && (ResourceUtils.isContainedIn(project.getLocation(), paths) || Objects.equals(project.getName(), invisibleProjectName))) { |
99 |
| - PackageNode projectNode = PackageNode.createNodeForProject(JavaCore.create(project)); |
100 |
| - children.add(projectNode); |
| 96 | + PackageNode projectNode = PackageNode.createNodeForProject(JavaCore.create(project)); |
| 97 | + if (Objects.equals(project.getName(), invisibleProjectName)) { |
| 98 | + projectNode.setDisplayName(FilenameUtils.getBaseName(workspaceUri)); |
101 | 99 | }
|
| 100 | + children.add(projectNode); |
102 | 101 | }
|
103 | 102 | return children;
|
104 | 103 | }
|
|
0 commit comments