Search in sources :

Example 1 with HighlightParams

use of org.springframework.ide.vscode.commons.languageserver.HighlightParams in project sts4 by spring-projects.

the class Editor method assertHighlights.

public List<Range> assertHighlights(String... expectedHighlights) throws Exception {
    HighlightParams highlights = harness.getHighlights(doc);
    List<Range> ranges = new ArrayList<>(highlights.getRanges());
    Collections.sort(ranges, RANGE_COMPARATOR);
    List<String> actualHighlights = ranges.stream().map(this::getText).collect(Collectors.toList());
    assertEquals(ImmutableList.copyOf(expectedHighlights), actualHighlights);
    return ranges;
}
Also used : ArrayList(java.util.ArrayList) HighlightParams(org.springframework.ide.vscode.commons.languageserver.HighlightParams) MarkedString(org.eclipse.lsp4j.MarkedString) Range(org.eclipse.lsp4j.Range)

Example 2 with HighlightParams

use of org.springframework.ide.vscode.commons.languageserver.HighlightParams in project sts4 by spring-projects.

the class LanguageServerHarness method intialize.

public InitializeResult intialize(File workspaceRoot) throws Exception {
    server = factory.call();
    int parentPid = random.nextInt(40000) + 1000;
    InitializeParams initParams = new InitializeParams();
    if (workspaceRoot != null) {
        initParams.setRootPath(workspaceRoot.toString());
        initParams.setRootUri(UriUtil.toUri(workspaceRoot).toString());
    }
    initParams.setProcessId(parentPid);
    ClientCapabilities clientCap = new ClientCapabilities();
    TextDocumentClientCapabilities textCap = new TextDocumentClientCapabilities();
    CompletionCapabilities completionCap = new CompletionCapabilities(new CompletionItemCapabilities(true));
    textCap.setCompletion(completionCap);
    clientCap.setTextDocument(textCap);
    WorkspaceClientCapabilities workspaceCap = new WorkspaceClientCapabilities();
    workspaceCap.setApplyEdit(true);
    ExecuteCommandCapabilities exeCap = new ExecuteCommandCapabilities();
    exeCap.setDynamicRegistration(true);
    workspaceCap.setExecuteCommand(exeCap);
    clientCap.setWorkspace(workspaceCap);
    initParams.setCapabilities(clientCap);
    initResult = getServer().initialize(initParams).get();
    if (getServer() instanceof LanguageClientAware) {
        ((LanguageClientAware) getServer()).connect(new STS4LanguageClient() {

            @Override
            public void telemetryEvent(Object object) {
            // TODO Auto-generated method stub
            }

            @Override
            public CompletableFuture<MessageActionItem> showMessageRequest(ShowMessageRequestParams requestParams) {
                // TODO Auto-generated method stub
                return CompletableFuture.completedFuture(new MessageActionItem("Some Message Request Answer"));
            }

            @Override
            public void showMessage(MessageParams messageParams) {
            // TODO Auto-generated method stub
            }

            @Override
            public void publishDiagnostics(PublishDiagnosticsParams diagnostics) {
                receiveDiagnostics(diagnostics);
            }

            @Override
            public void highlight(HighlightParams highlights) {
                receiveHighlights(highlights);
            }

            @Override
            public void logMessage(MessageParams message) {
            // TODO Auto-generated method stub
            }

            @Override
            public CompletableFuture<ApplyWorkspaceEditResponse> applyEdit(ApplyWorkspaceEditParams params) {
                return Mono.fromCallable(() -> {
                    perform(params.getEdit());
                    return new ApplyWorkspaceEditResponse(true);
                }).toFuture();
            }

            @Override
            public CompletableFuture<Void> registerCapability(RegistrationParams params) {
                return CompletableFuture.completedFuture(null);
            }

            @Override
            public void progress(ProgressParams progressEvent) {
            // TODO Auto-generated method stub
            }

            @Override
            public CompletableFuture<Object> moveCursor(CursorMovement cursorMovement) {
                for (Editor editor : activeEditors) {
                    if (editor.getUri().equals(cursorMovement.getUri())) {
                        editor.setCursor(cursorMovement.getPosition());
                        return CompletableFuture.completedFuture(new ApplyWorkspaceEditResponse(true));
                    }
                }
                return CompletableFuture.completedFuture(new ApplyWorkspaceEditResponse(false));
            }

            @Override
            public CompletableFuture<ProjectResponse> project(String uri) {
                return CompletableFuture.completedFuture(null);
            }

            @Override
            public CompletableFuture<Object> addClasspathListener(ClasspathListenerParams params) {
                return CompletableFuture.completedFuture("ok");
            }

            @Override
            public CompletableFuture<Object> removeClasspathListener(ClasspathListenerParams classpathListenerParams) {
                return CompletableFuture.completedFuture("ok");
            }
        });
    }
    getServer().initialized();
    return initResult;
}
Also used : CursorMovement(org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixEdit.CursorMovement) ShowMessageRequestParams(org.eclipse.lsp4j.ShowMessageRequestParams) ClientCapabilities(org.eclipse.lsp4j.ClientCapabilities) WorkspaceClientCapabilities(org.eclipse.lsp4j.WorkspaceClientCapabilities) TextDocumentClientCapabilities(org.eclipse.lsp4j.TextDocumentClientCapabilities) CompletionItemCapabilities(org.eclipse.lsp4j.CompletionItemCapabilities) CompletableFuture(java.util.concurrent.CompletableFuture) RegistrationParams(org.eclipse.lsp4j.RegistrationParams) CompletionCapabilities(org.eclipse.lsp4j.CompletionCapabilities) ExecuteCommandCapabilities(org.eclipse.lsp4j.ExecuteCommandCapabilities) ApplyWorkspaceEditParams(org.eclipse.lsp4j.ApplyWorkspaceEditParams) ClasspathListenerParams(org.springframework.ide.vscode.commons.languageserver.jdt.ls.ClasspathListenerParams) STS4LanguageClient(org.springframework.ide.vscode.commons.languageserver.STS4LanguageClient) MessageParams(org.eclipse.lsp4j.MessageParams) LanguageClientAware(org.eclipse.lsp4j.services.LanguageClientAware) HighlightParams(org.springframework.ide.vscode.commons.languageserver.HighlightParams) InitializeParams(org.eclipse.lsp4j.InitializeParams) TextDocumentClientCapabilities(org.eclipse.lsp4j.TextDocumentClientCapabilities) MessageActionItem(org.eclipse.lsp4j.MessageActionItem) WorkspaceClientCapabilities(org.eclipse.lsp4j.WorkspaceClientCapabilities) ApplyWorkspaceEditResponse(org.eclipse.lsp4j.ApplyWorkspaceEditResponse) PublishDiagnosticsParams(org.eclipse.lsp4j.PublishDiagnosticsParams) ProgressParams(org.springframework.ide.vscode.commons.languageserver.ProgressParams)

Aggregations

HighlightParams (org.springframework.ide.vscode.commons.languageserver.HighlightParams)2 ArrayList (java.util.ArrayList)1 CompletableFuture (java.util.concurrent.CompletableFuture)1 ApplyWorkspaceEditParams (org.eclipse.lsp4j.ApplyWorkspaceEditParams)1 ApplyWorkspaceEditResponse (org.eclipse.lsp4j.ApplyWorkspaceEditResponse)1 ClientCapabilities (org.eclipse.lsp4j.ClientCapabilities)1 CompletionCapabilities (org.eclipse.lsp4j.CompletionCapabilities)1 CompletionItemCapabilities (org.eclipse.lsp4j.CompletionItemCapabilities)1 ExecuteCommandCapabilities (org.eclipse.lsp4j.ExecuteCommandCapabilities)1 InitializeParams (org.eclipse.lsp4j.InitializeParams)1 MarkedString (org.eclipse.lsp4j.MarkedString)1 MessageActionItem (org.eclipse.lsp4j.MessageActionItem)1 MessageParams (org.eclipse.lsp4j.MessageParams)1 PublishDiagnosticsParams (org.eclipse.lsp4j.PublishDiagnosticsParams)1 Range (org.eclipse.lsp4j.Range)1 RegistrationParams (org.eclipse.lsp4j.RegistrationParams)1 ShowMessageRequestParams (org.eclipse.lsp4j.ShowMessageRequestParams)1 TextDocumentClientCapabilities (org.eclipse.lsp4j.TextDocumentClientCapabilities)1 WorkspaceClientCapabilities (org.eclipse.lsp4j.WorkspaceClientCapabilities)1 LanguageClientAware (org.eclipse.lsp4j.services.LanguageClientAware)1