Package org.eclipse.jface.text.contentassist

## Interface IContentAssistant

All Known Subinterfaces:
  `ISubjectControlContentAssistant`

All Known Implementing Classes:
  `ContentAssistant`, `SubjectControlContentAssistant`

    public interface IContentAssistant

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:
  `ITextViewer`, `IContentAssistProcessor`

### Field Summary

Fields
`static int` `CONTEXT_INFO_ABOVE` Context info will be shown above the location it has been requested for without hiding the location.
`static int` `CONTEXT_INFO_BELOW` Context info will be shown below the location it has been requested for without hiding the location.
`static int` `PROPOSAL_OVERLAY` The context info list will overlay the list of completion proposals.
`static int` `PROPOSAL_REMOVE` The completion proposal list will be removed before the context info list will be shown.
`static int` `PROPOSAL_STACKED` The context info list will be presented without hiding or overlapping the completion proposal list.

### Method Summary

All Methods Instance Methods Abstract Methods
`IContentAssistProcessor` `getContentAssistProcessor​(String contentType)` 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.
`String` `showContextInformation()` Shows context information for the content at the viewer's cursor position.
`String` `showPossibleCompletions()` Shows all possible completions of the content at the viewer's cursor position.
`void` `uninstall()` Uninstalls content assist support from the text viewer it has previously be installed on.

### Field Detail

#### PROPOSAL_OVERLAY

    static final int PROPOSAL_OVERLAY

The context info list will overlay the list of completion proposals.

See Also:
  Constant Field Values

#### PROPOSAL_REMOVE

    static final int PROPOSAL_REMOVE

The completion proposal list will be removed before the context info list will be shown.

See Also:
  Constant Field Values

#### PROPOSAL_STACKED

    static final int PROPOSAL_STACKED

The context info list will be presented without hiding or overlapping the completion proposal list.

See Also:
  Constant Field Values

#### 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:
  Constant Field Values

#### 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:
  Constant Field Values

### Method Detail

#### install

    void install​(ITextViewer textViewer)

Installs content assist support on the given text viewer.

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.

#### 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