From 7303dcd9021fff8124bbda3855944a2718de6fb7 Mon Sep 17 00:00:00 2001 From: Mathias Fussenegger Date: Fri, 8 Dec 2023 10:47:36 +0100 Subject: [PATCH 1/2] Update target platform dependencies Fixes build errors. The old location is no longer available: https://download.eclipse.org/releases/2023-12/202311171000/ returns 404 --- .../com.microsoft.java.debug.tp.target | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.microsoft.java.debug.target/com.microsoft.java.debug.tp.target b/com.microsoft.java.debug.target/com.microsoft.java.debug.tp.target index ef0a5284..c4870179 100644 --- a/com.microsoft.java.debug.target/com.microsoft.java.debug.tp.target +++ b/com.microsoft.java.debug.target/com.microsoft.java.debug.tp.target @@ -17,7 +17,7 @@ - + @@ -32,4 +32,4 @@ - \ No newline at end of file + From d5eb2db38e06d7ca5df885f991b9698c9f4c8102 Mon Sep 17 00:00:00 2001 From: Mathias Fussenegger Date: Fri, 8 Dec 2023 11:32:08 +0100 Subject: [PATCH 2/2] Handle replaceStart/replaceEnd in completion proposal Fixes https://github.com/microsoft/java-debug/issues/524 Ensures completion text can be appended by clients E.g. For `com.|` the completion proposal has: completion: com.sun.jndi.ldap.pool completionLocation: 3 replaceEnd: 4 replaceStart: 0 `insertText` will be `sun.jndi.ldap.pool` For `List.|` the completion proposal has: completion: of() completionLocation: 4 replaceStart: 5 replaceEnd: 5 `insertText` will be `of()` --- .../plugin/internal/CompletionProposalRequestor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/CompletionProposalRequestor.java b/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/CompletionProposalRequestor.java index 1df752f2..63a46170 100644 --- a/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/CompletionProposalRequestor.java +++ b/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/CompletionProposalRequestor.java @@ -160,9 +160,16 @@ public CompletionItem toCompletionItem(CompletionProposal proposal, int index) { data.put(CompletionResolveHandler.DATA_FIELD_REQUEST_ID, String.valueOf(response.getId())); data.put(CompletionResolveHandler.DATA_FIELD_PROPOSAL_ID, String.valueOf(index)); $.setData(data); + this.descriptionProvider.updateDescription(proposal, $); // Use fully qualified name as needed. - $.setInsertText(String.valueOf(proposal.getCompletion())); + String insertText = String.valueOf(proposal.getCompletion()); + int prefix = proposal.getReplaceEnd() - proposal.getReplaceStart(); + if (prefix > 0) { + $.setInsertText(insertText.substring(prefix)); + } else { + $.setInsertText(insertText); + } adjustCompleteItem($); $.setSortText(SortTextHelper.computeSortText(proposal)); return $;