/*******************************************************************************
* Copyright (c) 2015 Bruno Medeiros and other Contributors.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package melnorme.lang.ide.ui.text.completion;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.text.contentassist.IContextInformation;
import melnorme.lang.ide.core.text.ISourceBufferExt;
import melnorme.lang.tooling.toolchain.ops.OperationSoftFailure;
import melnorme.utilbox.collections.Indexable;
import melnorme.utilbox.concurrency.OperationCancellation;
import melnorme.utilbox.core.CommonException;
public interface ILangCompletionProposalComputer {
public default void sessionStarted() { }
public default void sessionEnded() { }
@SuppressWarnings("unused")
public default Indexable<IContextInformation> computeContextInformation(ISourceBufferExt sourceBuffer,
ITextViewer viewer, int offset) throws OperationSoftFailure {
return null;
}
public Indexable<ICompletionProposal> computeCompletionProposals(ISourceBufferExt sourceBuffer,
ITextViewer viewer, int offset) throws CommonException, OperationSoftFailure, OperationCancellation;
}