mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-29 09:47:50 +08:00
65 lines
1.9 KiB
Java
65 lines
1.9 KiB
Java
package com.simpleplugin;
|
|
|
|
import com.intellij.lang.cacheBuilder.DefaultWordsScanner;
|
|
import com.intellij.lang.cacheBuilder.WordsScanner;
|
|
import com.intellij.lang.findUsages.FindUsagesProvider;
|
|
import com.intellij.psi.PsiElement;
|
|
import com.intellij.psi.PsiNamedElement;
|
|
import com.intellij.psi.tree.TokenSet;
|
|
import com.simpleplugin.psi.SimpleProperty;
|
|
import com.simpleplugin.psi.SimpleTypes;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
public class SimpleFindUsagesProvider implements FindUsagesProvider {
|
|
private static final DefaultWordsScanner WORDS_SCANNER =
|
|
new DefaultWordsScanner(new SimpleLexerAdapter(),
|
|
TokenSet.create(SimpleTypes.KEY), TokenSet.create(SimpleTypes.COMMENT), TokenSet.EMPTY);
|
|
|
|
@Nullable
|
|
@Override
|
|
public WordsScanner getWordsScanner() {
|
|
return WORDS_SCANNER;
|
|
}
|
|
|
|
@Override
|
|
public boolean canFindUsagesFor(@NotNull PsiElement psiElement) {
|
|
return psiElement instanceof PsiNamedElement;
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public String getHelpId(@NotNull PsiElement psiElement) {
|
|
return null;
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public String getType(@NotNull PsiElement element) {
|
|
if (element instanceof SimpleProperty) {
|
|
return "simple property";
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public String getDescriptiveName(@NotNull PsiElement element) {
|
|
if (element instanceof SimpleProperty) {
|
|
return ((SimpleProperty) element).getKey();
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public String getNodeText(@NotNull PsiElement element, boolean useFullName) {
|
|
if (element instanceof SimpleProperty) {
|
|
return ((SimpleProperty) element).getKey() + ":" + ((SimpleProperty) element).getValue();
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
} |