package com.nvlad.yii2support.i18n;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementPresentation;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
/**
* Created by NVlad on 06.01.2017.
*/
class CategoryLookupElement extends LookupElement {
final private PsiElement myCategory;
CategoryLookupElement(PsiElement category) {
myCategory = category;
}
@NotNull
@Override
public String getLookupString() {
if (myCategory instanceof PsiFile) {
String filename = ((PsiFile) myCategory).getName();
return filename.substring(0, filename.lastIndexOf("."));
}
return myCategory.getText();
}
@Override
public void renderElement(LookupElementPresentation presentation) {
super.renderElement(presentation);
if (myCategory instanceof PsiFile) {
PsiFile file = (PsiFile) myCategory;
String filename = file.getName();
presentation.setIcon(file.getIcon(0));
presentation.setItemText(filename.substring(0, filename.lastIndexOf(".")));
}
}
}