package sk.sorien.pimpleplugin.pimple;
import com.intellij.codeInsight.completion.InsertionContext;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementPresentation;
import org.jetbrains.annotations.NotNull;
import sk.sorien.pimpleplugin.ui.Icons;
public class ParameterLookupElement extends LookupElement {
private final Parameter parameter;
public ParameterLookupElement(Parameter parameter) {
this.parameter = parameter;
}
@NotNull
@Override
public String getLookupString() {
return parameter.getName();
}
public void renderElement(LookupElementPresentation presentation) {
presentation.setItemText(getLookupString());
presentation.setTypeText(parameter.getType().toString());
if (!parameter.getValue().isEmpty())
presentation.appendTailText("(" + parameter.getValue() + ")", true);
presentation.setIcon(Icons.Parameter);
}
@Override
public void handleInsert(InsertionContext context) {
Utils.CONTAINER_INSERT_HANDLER.handleInsert(context, this);
}
}