diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java index acb06e000..c7b616035 100644 --- a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java +++ b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java @@ -15,6 +15,7 @@ import org.springframework.ide.vscode.boot.java.completions.BootJavaReconcileEng import org.springframework.ide.vscode.boot.java.hover.BootJavaHoverProvider; import org.springframework.ide.vscode.boot.java.references.BootJavaReferencesHandler; import org.springframework.ide.vscode.boot.java.symbols.BootJavaDocumentSymbolHandler; +import org.springframework.ide.vscode.boot.java.symbols.BootJavaWorkspaceSymbolHandler; import org.springframework.ide.vscode.boot.metadata.SpringPropertyIndexProvider; import org.springframework.ide.vscode.commons.gradle.GradleCore; import org.springframework.ide.vscode.commons.gradle.GradleProjectFinderStrategy; @@ -28,6 +29,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.HoverHandler; import org.springframework.ide.vscode.commons.languageserver.util.ReferencesHandler; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService; +import org.springframework.ide.vscode.commons.languageserver.util.SimpleWorkspaceService; import org.springframework.ide.vscode.commons.maven.JavaProjectWithClasspathFileFinderStrategy; import org.springframework.ide.vscode.commons.maven.MavenCore; import org.springframework.ide.vscode.commons.maven.MavenProjectFinderStrategy; @@ -50,6 +52,7 @@ public class BootJavaLanguageServer extends SimpleLanguageServer { public BootJavaLanguageServer(JavaProjectFinder javaProjectFinder, SpringPropertyIndexProvider indexProvider) { super("vscode-boot-java"); + SimpleWorkspaceService workspaceService = getWorkspaceService(); SimpleTextDocumentService documents = getTextDocumentService(); IReconcileEngine reconcileEngine = new BootJavaReconcileEngine(); @@ -70,6 +73,8 @@ public class BootJavaLanguageServer extends SimpleLanguageServer { ReferencesHandler referencesHandler = new BootJavaReferencesHandler(this, javaProjectFinder); documents.onReferences(referencesHandler); documents.onDocumentSymbol(new BootJavaDocumentSymbolHandler(this, javaProjectFinder)); + + workspaceService.onWorkspaceSymbol(new BootJavaWorkspaceSymbolHandler(this, javaProjectFinder)); } public void setMaxCompletionsNumber(int number) { diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/symbols/BootJavaWorkspaceSymbolHandler.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/symbols/BootJavaWorkspaceSymbolHandler.java new file mode 100644 index 000000000..49bbb2d76 --- /dev/null +++ b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/symbols/BootJavaWorkspaceSymbolHandler.java @@ -0,0 +1,28 @@ +package org.springframework.ide.vscode.boot.java.symbols; + +import java.util.List; + +import org.eclipse.lsp4j.SymbolInformation; +import org.eclipse.lsp4j.WorkspaceSymbolParams; +import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer; +import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder; +import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; +import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService; +import org.springframework.ide.vscode.commons.languageserver.util.WorkspaceSymbolHandler; + +public class BootJavaWorkspaceSymbolHandler implements WorkspaceSymbolHandler { + + private SimpleLanguageServer server; + private JavaProjectFinder projectFinder; + + public BootJavaWorkspaceSymbolHandler(BootJavaLanguageServer bootJavaLanguageServer, JavaProjectFinder javaProjectFinder) { + this.server = server; + this.projectFinder = projectFinder; + } + + @Override + public List handle(WorkspaceSymbolParams params) { + return SimpleTextDocumentService.NO_SYMBOLS; + } + +}