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 <jlah...@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-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists