@Override public CompletableFuture<BuildWorkspaceStatus> buildWorkspace(boolean forceReBuild) { logInfo(">> java/buildWorkspace (" + (forceReBuild ? "full)" : "incremental)")); BuildWorkspaceHandler handler = new BuildWorkspaceHandler(client, pm); return computeAsync((monitor) -> handler.buildWorkspace(forceReBuild, monitor)); }
@Override public CompletableFuture<Hover> hover(TextDocumentPositionParams position) { logInfo(">> document/hover"); HoverHandler handler = new HoverHandler(this.preferenceManager); return computeAsync((monitor) -> handler.hover(position, monitor)); }
@Override public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(TextDocumentPositionParams position) { logInfo(">> document/documentHighlight"); DocumentHighlightHandler handler = new DocumentHighlightHandler(); return computeAsync((monitor) -> handler.documentHighlight(position, monitor)); }
@Override public CompletableFuture<List<? extends Location>> references(ReferenceParams params) { logInfo(">> document/references"); ReferencesHandler handler = new ReferencesHandler(this.preferenceManager); return computeAsync((monitor) -> handler.findReferences(params, monitor)); }
@Override public CompletableFuture<List<? extends TextEdit>> rangeFormatting(DocumentRangeFormattingParams params) { logInfo(">> document/rangeFormatting"); FormatterHandler handler = new FormatterHandler(preferenceManager); return computeAsync((monitor) -> handler.rangeFormatting(params, monitor)); }
@Override public CompletableFuture<List<? extends TextEdit>> onTypeFormatting(DocumentOnTypeFormattingParams params) { logInfo(">> document/onTypeFormatting"); FormatterHandler handler = new FormatterHandler(preferenceManager); return computeAsync((monitor) -> handler.onTypeFormatting(params, monitor)); }
@Override public CompletableFuture<Either<Range, PrepareRenameResult>> prepareRename(TextDocumentPositionParams params) { logInfo(">> document/prepareRename"); PrepareRenameHandler handler = new PrepareRenameHandler(); return computeAsync((monitor) -> handler.prepareRename(params, monitor)); }
@Override public CompletableFuture<SignatureHelp> signatureHelp(TextDocumentPositionParams position) { logInfo(">> document/signatureHelp"); SignatureHelpHandler handler = new SignatureHelpHandler(preferenceManager); return computeAsync((monitor) -> handler.signatureHelp(position, monitor)); }
@Override public CompletableFuture<List<? extends TextEdit>> formatting(DocumentFormattingParams params) { logInfo(">> document/formatting"); FormatterHandler handler = new FormatterHandler(preferenceManager); return computeAsync((monitor) -> handler.formatting(params, monitor)); }
@Override public CompletableFuture<WorkspaceEdit> rename(RenameParams params) { logInfo(">> document/rename"); RenameHandler handler = new RenameHandler(preferenceManager); return computeAsync((monitor) -> handler.rename(params, monitor)); }
@Override public CompletableFuture<List<TextEdit>> willSaveWaitUntil(WillSaveTextDocumentParams params) { logInfo(">> document/willSaveWaitUntil"); SaveActionHandler handler = new SaveActionHandler(preferenceManager); return computeAsync((monitor) -> handler.willSaveWaitUntil(params, monitor)); }
@Override public CompletableFuture<List<Either<Command, CodeAction>>> codeAction(CodeActionParams params) { logInfo(">> document/codeAction"); CodeActionHandler handler = new CodeActionHandler(this.preferenceManager); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.getCodeActionCommands(params, monitor); }); }
@Override public CompletableFuture<Object> executeCommand(ExecuteCommandParams params) { logInfo(">> workspace/executeCommand " + (params == null ? null : params.getCommand())); WorkspaceExecuteCommandHandler handler = new WorkspaceExecuteCommandHandler(); return computeAsync((monitor) -> { return handler.executeCommand(params, monitor); }); }
@Override public CompletableFuture<List<? extends Location>> definition(TextDocumentPositionParams position) { logInfo(">> document/definition"); NavigateToDefinitionHandler handler = new NavigateToDefinitionHandler(this.preferenceManager); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.definition(position, monitor); }); }
@Override public CompletableFuture<List<? extends SymbolInformation>> symbol(WorkspaceSymbolParams params) { logInfo(">> workspace/symbol"); WorkspaceSymbolHandler handler = new WorkspaceSymbolHandler(preferenceManager); return computeAsync((monitor) -> { return handler.search(params.getQuery(), monitor); }); }
@Override public CompletableFuture<List<? extends Location>> typeDefinition(TextDocumentPositionParams position) { logInfo(">> document/typeDefinition"); NavigateToTypeDefinitionHandler handler = new NavigateToTypeDefinitionHandler(); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.typeDefinition(position, monitor); }); }
@Override public CompletableFuture<CodeLens> resolveCodeLens(CodeLens unresolved) { logInfo(">> codeLens/resolve"); CodeLensHandler handler = new CodeLensHandler(preferenceManager); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.resolve(unresolved, monitor); }); }
@Override public CompletableFuture<String> classFileContents(TextDocumentIdentifier param) { logInfo(">> java/classFileContents"); ContentProviderManager handler = JavaLanguageServerPlugin.getContentProviderManager(); URI uri = JDTUtils.toURI(param.getUri()); return computeAsync((monitor) -> handler.getContent(uri, monitor)); }
@Override public CompletableFuture<List<Either<SymbolInformation, DocumentSymbol>>> documentSymbol(DocumentSymbolParams params) { logInfo(">> document/documentSymbol"); boolean hierarchicalDocumentSymbolSupported = preferenceManager.getClientPreferences().isHierarchicalDocumentSymbolSupported(); DocumentSymbolHandler handler = new DocumentSymbolHandler(hierarchicalDocumentSymbolSupported); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.documentSymbol(params, monitor); }); }
@Override public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) { logInfo(">> document/codeLens"); CodeLensHandler handler = new CodeLensHandler(preferenceManager); return computeAsync((monitor) -> { waitForLifecycleJobs(monitor); return handler.getCodeLensSymbols(params.getTextDocument().getUri(), monitor); }); }