Set completionTriggerCharacters for spring boot language server.
Signed-off-by: Kris De Volder <kdevolder@pivotal.io>
This commit is contained in:
@@ -25,6 +25,11 @@ public class LanguageServerProperties {
|
||||
*/
|
||||
private String extensionId;
|
||||
|
||||
/**
|
||||
* List of characters that trigger completions.
|
||||
*/
|
||||
private String completionTriggerCharacters;
|
||||
|
||||
public boolean isStandalone() {
|
||||
return standalone;
|
||||
}
|
||||
@@ -49,4 +54,12 @@ public class LanguageServerProperties {
|
||||
this.extensionId = extensionId;
|
||||
}
|
||||
|
||||
public String getCompletionTriggerCharacters() {
|
||||
return completionTriggerCharacters;
|
||||
}
|
||||
|
||||
public void setCompletionTriggerCharacters(String completionTriggerCharacters) {
|
||||
this.completionTriggerCharacters = completionTriggerCharacters;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import java.lang.management.ManagementFactory;
|
||||
import java.net.URI;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@@ -154,6 +155,8 @@ public final class SimpleLanguageServer implements Sts4LanguageServer, LanguageC
|
||||
|
||||
private Optional<CompletionFilter> completionFilter = Optional.empty();
|
||||
|
||||
private String completionTriggerCharacters = null;
|
||||
|
||||
@Override
|
||||
public void connect(LanguageClient _client) {
|
||||
this.client = (STS4LanguageClient) _client;
|
||||
@@ -369,6 +372,13 @@ public final class SimpleLanguageServer implements Sts4LanguageServer, LanguageC
|
||||
|
||||
CompletionOptions completionProvider = new CompletionOptions();
|
||||
completionProvider.setResolveProvider(hasLazyCompletionResolver());
|
||||
if (this.completionTriggerCharacters!=null) {
|
||||
String[] chars = new String[this.completionTriggerCharacters.length()];
|
||||
for (int i = 0; i < chars.length; i++) {
|
||||
chars[i] = this.completionTriggerCharacters.substring(i, i+1);
|
||||
}
|
||||
completionProvider.setTriggerCharacters(ImmutableList.copyOf(chars));
|
||||
}
|
||||
c.setCompletionProvider(completionProvider);
|
||||
|
||||
if (hasQuickFixes()) {
|
||||
@@ -710,4 +720,12 @@ public final class SimpleLanguageServer implements Sts4LanguageServer, LanguageC
|
||||
public void setCompletionFilter(Optional<CompletionFilter> completionFilter) {
|
||||
this.completionFilter = completionFilter;
|
||||
}
|
||||
|
||||
public String getCompletionTriggerCharacters() {
|
||||
return completionTriggerCharacters;
|
||||
}
|
||||
|
||||
public void setCompletionTriggerCharacters(String completionTriggerCharacters) {
|
||||
this.completionTriggerCharacters = completionTriggerCharacters;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class LanguageServerAutoConf {
|
||||
Optional<CompletionFilter> completionFilter
|
||||
) throws Exception {
|
||||
SimpleLanguageServer server = new SimpleLanguageServer(props.getExtensionId());
|
||||
server.setCompletionTriggerCharacters(props.getCompletionTriggerCharacters());
|
||||
server.setCompletionFilter(completionFilter);
|
||||
severities.ifPresent(server::setDiagnosticSeverityProvider);
|
||||
return server;
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
languageserver:
|
||||
extension-id: vscode-spring-boot
|
||||
extension-id: vscode-spring-boot
|
||||
completion-trigger-characters: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.
|
||||
Reference in New Issue
Block a user