package sk.stuba.fiit.perconik.core.debug.listeners;
import org.eclipse.jface.text.contentassist.ContentAssistEvent;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import sk.stuba.fiit.perconik.core.debug.AbstractDebugListener;
import sk.stuba.fiit.perconik.core.debug.Debug;
import sk.stuba.fiit.perconik.core.debug.runtime.DebugConsole;
import sk.stuba.fiit.perconik.core.listeners.CompletionListener;
public final class CompletionDebugListener extends AbstractDebugListener implements CompletionListener {
public CompletionDebugListener() {}
public CompletionDebugListener(final DebugConsole console) {
super(console);
}
public void assistSessionStarted(final ContentAssistEvent event) {
this.printHeader("Content assist session started");
this.printContentAssistEvent(event);
}
public void assistSessionRestarted(final ContentAssistEvent event) {
this.printHeader("Content assist session");
this.printContentAssistEvent(event);
}
public void assistSessionEnded(final ContentAssistEvent event) {
this.printHeader("Content assist session");
this.printContentAssistEvent(event);
}
public void applied(final ICompletionProposal proposal) {
this.printHeader("Completion proposal applied");
this.printCompletionProposal(proposal);
}
public void selectionChanged(final ICompletionProposal proposal, final boolean smart) {
this.printHeader("Completion proposal selection changed");
this.printCompletionProposal(proposal);
this.printLine("smart", smart);
}
private void printContentAssistEvent(final ContentAssistEvent event) {
this.put(Debug.dumpContentAssistEvent(event));
}
private void printCompletionProposal(final ICompletionProposal proposal) {
this.put(Debug.dumpCompletionProposal(proposal));
}
}