Interface IContentAssistant
- All Superinterfaces:
ITextViewerLifecycle
- All Known Subinterfaces:
ISubjectControlContentAssistant
- All Known Implementing Classes:
ContentAssistant
,SubjectControlContentAssistant
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
Modifier and TypeFieldDescriptionstatic 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 TypeMethodDescriptiongetContentAssistProcessor
(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.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_OVERLAYThe context info list will overlay the list of completion proposals.- See Also:
-
PROPOSAL_REMOVE
static final int PROPOSAL_REMOVEThe completion proposal list will be removed before the context info list will be shown.- See Also:
-
PROPOSAL_STACKED
static final int PROPOSAL_STACKEDThe context info list will be presented without hiding or overlapping the completion proposal list.- See Also:
-
CONTEXT_INFO_ABOVE
static final int CONTEXT_INFO_ABOVEContext 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_BELOWContext info will be shown below the location it has been requested for without hiding the location.- See Also:
-
-
Method Details
-
install
Installs content assist support on the given text viewer.- Specified by:
install
in interfaceITextViewerLifecycle
- 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 interfaceITextViewerLifecycle
-
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
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
-