/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.api.editor.signature; import com.google.common.base.Optional; import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.ide.api.editor.document.Document; import org.eclipse.che.ide.api.editor.texteditor.TextEditor; import javax.validation.constraints.NotNull; /** * Calculates signature information at cursor position. * * @author Evgen Vidolob */ public interface SignatureHelpProvider { /** * Requests to provide signature information * @param document * the document where request called * @param offset * the offset where request called * @return the promise. */ @NotNull Promise<Optional<SignatureHelp>> signatureHelp(Document document, int offset); /** * Installs the SignatureHelpProvider on the given text view. */ void install(TextEditor editor); /** * Removes the SignatureHelpProvider from the text view it has previously been installed on. */ void uninstall(); }