mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-29 17:57:53 +08:00
31 lines
1.1 KiB
Java
31 lines
1.1 KiB
Java
package com.simpleplugin;
|
|
|
|
import com.intellij.navigation.*;
|
|
import com.intellij.openapi.project.Project;
|
|
import com.simpleplugin.psi.SimpleProperty;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import java.util.*;
|
|
|
|
public class SimpleChooseByNameContributor implements ChooseByNameContributor {
|
|
@NotNull
|
|
@Override
|
|
public String[] getNames(Project project, boolean includeNonProjectItems) {
|
|
List<SimpleProperty> properties = SimpleUtil.findProperties(project);
|
|
List<String> names = new ArrayList<String>(properties.size());
|
|
for (SimpleProperty property : properties) {
|
|
if (property.getKey() != null && property.getKey().length() > 0) {
|
|
names.add(property.getKey());
|
|
}
|
|
}
|
|
return names.toArray(new String[names.size()]);
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public NavigationItem[] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) {
|
|
// todo include non project items
|
|
List<SimpleProperty> properties = SimpleUtil.findProperties(project, name);
|
|
return properties.toArray(new NavigationItem[properties.size()]);
|
|
}
|
|
} |