Package org.eclipse.jface.text.contentassist

## Interface ICompletionListener

All Known Implementing Classes:
  `KeyBindingSupportForAssistant`

    public interface ICompletionListener

A completion listener is informed before the content assistant computes completion proposals.

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

- `ICompletionListenerExtension` since version 3.4 introducing the following functions:
  - additional notification about restarting the current code assist session
- `ICompletionListenerExtension2` since version 3.8 introducing the following functions:
  - additional notification after applying a proposal

Clients may implement this interface.

Since:
  3.2

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `assistSessionEnded​(ContentAssistEvent event)` Called when a code assist session ends (for example, the proposal popup is closed).
`void` `assistSessionStarted​(ContentAssistEvent event)` Called when code assist is invoked when there is no current code assist session.
`void` `selectionChanged​(ICompletionProposal proposal, boolean smartToggle)` Called when the selection in the proposal popup is changed or if the insert-mode changed.

### Method Detail

#### assistSessionStarted

    void assistSessionStarted​(ContentAssistEvent event)

Called when code assist is invoked when there is no current code assist session.

Parameters:
  `event` - the content assist event

#### assistSessionEnded

    void assistSessionEnded​(ContentAssistEvent event)

Called when a code assist session ends (for example, the proposal popup is closed).

Parameters:
  `event` - the content assist event

#### selectionChanged

    void selectionChanged​(ICompletionProposal proposal,
                          boolean smartToggle)

Called when the selection in the proposal popup is changed or if the insert-mode changed.

Parameters:
  `proposal` - the newly selected proposal, possibly `null`
  `smartToggle` - `true` if the insert-mode toggle is being pressed, `false` otherwise