You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sk...@apache.org on 2020/02/03 10:42:14 UTC

[netbeans] branch master updated: Only initialize the server once; prevent NPE in code completion.

This is an automated email from the ASF dual-hosted git repository.

skygo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 4fd0573  Only initialize the server once; prevent NPE in code completion.
     new 8674030  Merge pull request #1910 from jlahoda/last-fixes-feb-2020
4fd0573 is described below

commit 4fd057391fc87c5f4b63282969f1a5f3318980c0
Author: Jan Lahoda <jl...@netbeans.org>
AuthorDate: Sat Feb 1 22:20:16 2020 +0100

    Only initialize the server once; prevent NPE in code completion.
---
 ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java   | 4 +++-
 .../netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java  | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
index e3a2ca1..c45b117 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
@@ -33,6 +33,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.WeakHashMap;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
@@ -203,9 +204,10 @@ public class LSPBindings {
        wcc.getWorkspaceEdit().setDocumentChanges(true);
        wcc.getWorkspaceEdit().setResourceOperations(Arrays.asList(ResourceOperationKind.Create, ResourceOperationKind.Delete, ResourceOperationKind.Rename));
        initParams.setCapabilities(new ClientCapabilities(wcc, tdcc, null));
+       CompletableFuture<InitializeResult> initResult = server.initialize(initParams);
        while (true) {
            try {
-               return server.initialize(initParams).get(100, TimeUnit.MILLISECONDS);
+               return initResult.get(100, TimeUnit.MILLISECONDS);
            } catch (TimeoutException ex) {
                if (p != null && !p.isAlive()) {
                    InitializeResult emptyResult = new InitializeResult();
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java
index e2c25d7..4a1ea3e 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java
@@ -388,6 +388,8 @@ public class CompletionProviderImpl implements CompletionProvider {
         if (capabilities == null) return false;
         CompletionOptions completionOptions = capabilities.getCompletionProvider();
         if (completionOptions == null) return false;
-        return completionOptions.getTriggerCharacters().stream().anyMatch(trigger -> text.endsWith(trigger));
+        List<String> triggerCharacters = completionOptions.getTriggerCharacters();
+        if (triggerCharacters == null) return false;
+        return triggerCharacters.stream().anyMatch(trigger -> text.endsWith(trigger));
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists