The completion system helps the user when they writes some text, such as words, command names, functions, and suchlike. Proposals can be
shown, to complete the text the user is writing. Each proposal can contain an additional piece of information (for example documentation),
that is displayed when the "Details" button is clicked.
Proposals are created via a [iface@CompletionProvider]. There can be for example a provider to complete words (see [class@CompletionWords
]), another provider for the completion of function names, etc. To add a provider, call [[email protected]_provider].
When several providers match, they are all shown in the completion window, but one can switch between providers: see the
GtkSourceCompletion::move-page signal. It is also possible to activate the first proposals with key bindings, see the
GtkSourceCompletion:acceleratorss property.
The [iface@CompletionProposal] interface represents a proposal.
If a proposal contains extra information (see gtk_source_completion_column_details), it will be
displayed in a supplemental details window, which appears when the "Details" button is clicked.
Each [class@View] object is associated with a [class@Completion] instance. This instance can be obtained with [[email protected]_completion
]. The [class@View] class contains also the [signal@View:GtkSourceCompletion:show-completion] signal.
A same [iface@CompletionProvider] object can be used for several `GtkSourceCompletion`'s.