Page History
...
This is a LanguageServerExtension. It has to be used in the de.cau.cs.kieler.language.server plugin. Since the language-server-plugin should not have dependencies to all plugins that define a language server extension dependency inversion is used to prevent that. A ServiceLoader via dependency inversion does exactly that.
Here is such an example extension, the KiCoolLanguageServerExtension:
Code Block |
---|
package de.cau.cs.kieler.kicool.ide.language.server
/**
* @author really fancy name
*
*/
@Singleton
class KiCoolLanguageServerExtension implements ILanguageServerExtension, CommandExtension, ILanguageClientProvider {
// fancy extension stuff
var KeithLanguageClient client
// A language server extension must implement the initialize method,
// it is however only called if the extension is registered via a language.
// This should never be the case, so this is never called.
override initialize(ILanguageServerAccess access) {
this.languageServerAccess = access
}
// implement ILanguageClientProvider
override setLanguageClient(LanguageClient client) {
this.client = client as KeithLanguageClient
}
// implement ILanguageClientProvider
override getLanguageClient() {
return this.client
}
} |
...
Overview
Content Tools