Toward a Language-Parametric Code Completion Editor Service

Code completion is an editor service that suggests keywords and identifiers
that are relevant at the caret location in the editor, from which the user
can choose to either insert one or continue typing. This reduces coding errors
and aids in discovering the possibilities in a language or API. Providing a
code completion editor service for a new programming language requires
development effort in addition to the effort required for defining the language.
The goal of this work is to automatically produce an intelligent editor-agnostic
code completion editor service that is parameterized only by the declarative
specification of the language. We implement our approach in the Spoofax language
workbench, which enables language developers to provide a declarative
specification of their new programming language. We will use the declarative
specification to produce a platform-agnostic code completion editor service for
Spoofax languages automatically.