Interface IContentAssistant

All Superinterfaces:
ITextViewerLifecycle
All Known Subinterfaces:
ISubjectControlContentAssistant
All Known Implementing Classes:
ContentAssistant, SubjectControlContentAssistant

public interface IContentAssistant extends ITextViewerLifecycle
An IContentAssistant provides support on interactive content completion. The content assistant is a ITextViewer add-on. Its purpose is to propose, display, and insert completions of the content of the text viewer's document at the viewer's cursor position. In addition to handle completions, a content assistant can also be requested to provide context information. Context information is shown in a tool tip like popup. As it is not always possible to determine the exact context at a given document offset, a content assistant displays the possible contexts and requests the user to choose the one whose information should be displayed.

A content assistant has a list of IContentAssistProcessor objects each of which is registered for a particular document content type. The content assistant uses the processors to react on the request of completing documents or presenting context information.

In order to provide backward compatibility for clients of IContentAssistant, extension interfaces are used to provide a means of evolution. The following extension interfaces exist:

  • IContentAssistantExtension since version 3.0 introducing the following functions:
    • handle documents with multiple partitions
    • insertion of common completion prefixes
  • IContentAssistantExtension2 since version 3.2 introducing the following functions:
    • repeated invocation (cycling) mode
    • completion listeners
    • a local status line for the completion popup
    • control over the behavior when no proposals are available
  • IContentAssistantExtension3 since version 3.2 introducing the following function:
    • a key-sequence to listen for in repeated invocation mode
  • IContentAssistantExtension4 since version 3.4 introducing the following function:
    • allows to get a handler for the given command identifier

The interface can be implemented by clients. By default, clients use ContentAssistant as the standard implementer of this interface.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Context info will be shown above the location it has been requested for without hiding the location.
    static final int
    Context info will be shown below the location it has been requested for without hiding the location.
    static final int
    The context info list will overlay the list of completion proposals.
    static final int
    The completion proposal list will be removed before the context info list will be shown.
    static final int
    The context info list will be presented without hiding or overlapping the completion proposal list.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the content assist processor to be used for the given content type.
    void
    install(ITextViewer textViewer)
    Installs content assist support on the given text viewer.
    Shows context information for the content at the viewer's cursor position.
    Shows all possible completions of the content at the viewer's cursor position.
    void
    Uninstalls content assist support from the text viewer it has previously be installed on.
  • Field Details

    • PROPOSAL_OVERLAY

      static final int PROPOSAL_OVERLAY
      The context info list will overlay the list of completion proposals.
      See Also:
    • PROPOSAL_REMOVE

      static final int PROPOSAL_REMOVE
      The completion proposal list will be removed before the context info list will be shown.
      See Also:
    • PROPOSAL_STACKED

      static final int PROPOSAL_STACKED
      The context info list will be presented without hiding or overlapping the completion proposal list.
      See Also:
    • CONTEXT_INFO_ABOVE

      static final int CONTEXT_INFO_ABOVE
      Context info will be shown above the location it has been requested for without hiding the location.
      See Also:
    • CONTEXT_INFO_BELOW

      static final int CONTEXT_INFO_BELOW
      Context info will be shown below the location it has been requested for without hiding the location.
      See Also:
  • Method Details

    • install

      void install(ITextViewer textViewer)
      Installs content assist support on the given text viewer.
      Specified by:
      install in interface ITextViewerLifecycle
      Parameters:
      textViewer - the text viewer on which content assist will work
    • uninstall

      void uninstall()
      Uninstalls content assist support from the text viewer it has previously be installed on.
      Specified by:
      uninstall in interface ITextViewerLifecycle
    • showPossibleCompletions

      String showPossibleCompletions()
      Shows all possible completions of the content at the viewer's cursor position.
      Returns:
      an optional error message if no proposals can be computed
    • showContextInformation

      String showContextInformation()
      Shows context information for the content at the viewer's cursor position.
      Returns:
      an optional error message if no context information can be computed
    • getContentAssistProcessor

      IContentAssistProcessor getContentAssistProcessor(String contentType)
      Returns the content assist processor to be used for the given content type.
      Parameters:
      contentType - the type of the content for which this content assistant is to be requested
      Returns:
      an instance content assist processor or null if none exists for the specified content type