This is an automated email from the ASF dual-hosted git repository.
dbalek 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 10578e37c1 LSP4J library updated to version 0.13 (#4135)
10578e37c1 is described below
commit 10578e37c124a4ebd2c6d128531433f527af0a6c
Author: Dusan Balek <[email protected]>
AuthorDate: Mon May 23 12:33:21 2022 +0200
LSP4J library updated to version 0.13 (#4135)
---
ide/lsp.client/external/binaries-list | 12 +-
...0.12.0-license.txt => lsp4j-0.13.0-license.txt} | 4 +-
ide/lsp.client/external/xtend-2.19.0-license.txt | 73 -----------
...0.12.0-license.txt => xtend-2.24.0-license.txt} | 8 +-
ide/lsp.client/nbproject/project.properties | 12 +-
ide/lsp.client/nbproject/project.xml | 24 ++--
.../lsp/client/bindings/BaseSymbolProvider.java | 81 ++++++++----
.../lsp/client/bindings/SymbolProviderImpl.java | 8 +-
.../lsp/client/bindings/TypeProviderImpl.java | 15 ++-
java/java.lsp.server/external/binaries-list | 10 +-
...0.12.0-license.txt => lsp4j-0.13.0-license.txt} | 4 +-
java/java.lsp.server/nbproject/project.properties | 10 +-
java/java.lsp.server/nbproject/project.xml | 20 +--
.../lsp/server/debugging/NbProtocolServer.java | 5 +-
.../debugging/attach/NbAttachRequestHandler.java | 8 +-
.../breakpoints/NbBreakpointsRequestHandler.java | 10 +-
.../server/debugging/launch/NbLaunchDelegate.java | 4 +-
.../debugging/launch/NbLaunchRequestHandler.java | 8 +-
.../lsp/server/protocol/NbCodeClientWrapper.java | 6 -
.../lsp/server/protocol/WorkspaceServiceImpl.java | 12 +-
.../server/explorer/NodeActionsProviderTest.java | 6 -
.../java/lsp/server/protocol/ServerTest.java | 5 +-
java/java.lsp.server/vscode/CHANGELOG.md | 3 +
java/java.lsp.server/vscode/package-lock.json | 139 ++++++++++++---------
java/java.lsp.server/vscode/package.json | 10 +-
java/java.lsp.server/vscode/src/extension.ts | 15 +--
.../org/netbeans/nbbuild/extlibs/ignored-overlaps | 12 +-
27 files changed, 256 insertions(+), 268 deletions(-)
diff --git a/ide/lsp.client/external/binaries-list
b/ide/lsp.client/external/binaries-list
index c89b3b0ea7..0832017290 100644
--- a/ide/lsp.client/external/binaries-list
+++ b/ide/lsp.client/external/binaries-list
@@ -15,9 +15,9 @@
# specific language governing permissions and limitations
# under the License.
-419B5181A4B2D054BF8FF764FCEB67DF09D87E7D
org.eclipse.lsp4j:org.eclipse.lsp4j:0.12.0
-80607078CEB77F92C6BFEC3CDEC050D3222EFDFF
org.eclipse.lsp4j:org.eclipse.lsp4j.generator:0.12.0
-8A80D1368F19A2F6E328E41B9BC68E53C628C68B
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.12.0
-751B324BED8C077BF6B7B8C2055595EB8C28509D
org.eclipse.xtend:org.eclipse.xtend.lib:2.19.0
-F3626A047A3ABFA47CF62D76BDEF1D246F7985F6
org.eclipse.xtend:org.eclipse.xtend.lib.macro:2.19.0
-997BA9935D0069B3F1CD2F93B56B91D24E9C60A0
org.eclipse.xtext:org.eclipse.xtext.xbase.lib:2.19.0
+E95BD5C2A465A40A66C9DC098BF95C237B80C4EB
org.eclipse.lsp4j:org.eclipse.lsp4j:0.13.0
+82848D7796D399F3E5109B7331A143D7C649B520
org.eclipse.lsp4j:org.eclipse.lsp4j.generator:0.13.0
+0B50BD2A6AF496803F72176AD066532DAE62574E
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.13.0
+A57306D5D523A4750FA09B2708062EA4972AFEA2
org.eclipse.xtend:org.eclipse.xtend.lib:2.24.0
+D8F5566BA67748ED9E91856E077EE99F00E86653
org.eclipse.xtend:org.eclipse.xtend.lib.macro:2.24.0
+53FBD66084B08850258E61C838CC1FB94335E718
org.eclipse.xtext:org.eclipse.xtext.xbase.lib:2.24.0
diff --git a/ide/lsp.client/external/lsp4j-0.12.0-license.txt
b/ide/lsp.client/external/lsp4j-0.13.0-license.txt
similarity index 99%
copy from ide/lsp.client/external/lsp4j-0.12.0-license.txt
copy to ide/lsp.client/external/lsp4j-0.13.0-license.txt
index 7151ac5768..7ba9d3c0c4 100644
--- a/ide/lsp.client/external/lsp4j-0.12.0-license.txt
+++ b/ide/lsp.client/external/lsp4j-0.13.0-license.txt
@@ -1,10 +1,10 @@
Name: Eclipse Language Server Protocol Library
Origin: Eclipse
-Version: 0.12.0
+Version: 0.13.0
License: EPL-v20
URL: http://www.eclipse.org/
Description: Eclipse Language Server Protocol Library
-Files: org.eclipse.lsp4j-0.12.0.jar org.eclipse.lsp4j.generator-0.12.0.jar
org.eclipse.lsp4j.jsonrpc-0.12.0.jar
+Files: org.eclipse.lsp4j-0.13.0.jar org.eclipse.lsp4j.generator-0.13.0.jar
org.eclipse.lsp4j.jsonrpc-0.13.0.jar
Eclipse Public License - v 2.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
diff --git a/ide/lsp.client/external/xtend-2.19.0-license.txt
b/ide/lsp.client/external/xtend-2.19.0-license.txt
deleted file mode 100644
index e679f21929..0000000000
--- a/ide/lsp.client/external/xtend-2.19.0-license.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-Name: Eclipse Xtend library
-Origin: Eclipse
-Version: 2.19.0
-License: EPL-v10
-URL: http://www.eclipse.org/
-Description: Eclipse Xtend library
-Files: org.eclipse.xtend.lib-2.19.0.jar org.eclipse.xtend.lib.macro-2.19.0.jar
org.eclipse.xtext.xbase.lib-2.19.0.jar
-
-Eclipse Public License - v 1.0
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-"Contribution" means:
-
-a) in the case of the initial Contributor, the initial code and documentation
distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-
-i) changes to the Program, and
-ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and are
distributed by that particular Contributor. A Contribution 'originates' from a
Contributor if it was added to the Program by such Contributor itself or anyone
acting on such Contributor's behalf. Contributions do not include additions to
the Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii) are
not derivative works of the Program.
-"Contributor" means any person or entity that distributes the Program.
-"Licensed Patents" mean patent claims licensable by a Contributor which are
necessarily infringed by the use or sale of its Contribution alone or when
combined with the Program.
-"Program" means the Contributions distributed in accordance with this
Agreement.
-"Recipient" means anyone who receives the Program under this Agreement,
including all Contributors.
-
-2. GRANT OF RIGHTS
-
-a) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
distribute and sublicense the Contribution of such Contributor, if any, and
such derivative works, in source code and object code form.
-b) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free patent license under
Licensed Patents to make, use, sell, offer to sell, import and otherwise
transfer the Contribution of such Contributor, if any, in source code and
object code form. This patent license shall apply to the combination of the
Contribution and the Program if, at the time the Contribution is added by the
Contributor, such addition of the Contributio [...]
-c) Recipient understands that although each Contributor grants the licenses to
its Contributions set forth herein, no assurances are provided by any
Contributor that the Program does not infringe the patent or other intellectual
property rights of any other entity. Each Contributor disclaims any liability
to Recipient for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. As a condition to exercising the
rights and licenses granted here [...]
-d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright license
set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form under
its own license agreement, provided that:
-a) it complies with the terms and conditions of this Agreement; and
-b) its license agreement:
-i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title
and non-infringement, and implied warranties or conditions of merchantability
and fitness for a particular purpose;
-ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
-iii) states that any provisions which differ from this Agreement are offered
by that Contributor alone and not by any other party; and
-iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable manner on
or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-a) it must be made available under this Agreement; and
-b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained within
the Program.
-Each Contributor must identify itself as the originator of its Contribution,
if any, in a manner that reasonably allows subsequent Recipients to identify
the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with
respect to end users, business partners and the like. While this license is
intended to facilitate the commercial use of the Program, the Contributor who
includes the Program in a commercial product offering should do so in a manner
which does not create potential liability for other Contributors. Therefore, if
a Contributor includes the Program in a commercial product offering, such
Contributor ("Commercial Con [...]
-
-For example, a Contributor might include the Program in a commercial product
offering, Product X. That Contributor is then a Commercial Contributor. If that
Commercial Contributor then makes performance claims, or offers warranties
related to Product X, those performance claims and warranties are such
Commercial Contributor's responsibility alone. Under this section, the
Commercial Contributor would have to defend claims against the other
Contributors related to those performance claims [...]
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
Recipient is solely responsible for determining the appropriateness of using
and distributing the Program and assumes all risks associated with its exercise
of rights under this Ag [...]
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF [...]
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of the
remainder of the terms of this Agreement, and without further action by the
parties hereto, such provision shall be reformed to the minimum extent
necessary to make such provision valid and enforceable.
-If Recipient institutes patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Program itself
(excluding combinations of the Program with other software or hardware)
infringes such Recipient's patent(s), then such Recipient's rights granted
under Section 2(b) shall terminate as of the date such litigation is filed.
-All Recipient's rights under this Agreement shall terminate if it fails to
comply with any of the material terms or conditions of this Agreement and does
not cure such failure in a reasonable period of time after becoming aware of
such noncompliance. If all Recipient's rights under this Agreement terminate,
Recipient agrees to cease use and distribution of the Program as soon as
reasonably practicable. However, Recipient's obligations under this Agreement
and any licenses granted by Reci [...]
-Everyone is permitted to copy and distribute copies of this Agreement, but in
order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation
may assign the respons [...]
-This Agreement is governed by the laws of the State of New York and the
intellectual property laws of the United States of America. No party to this
Agreement will bring a legal action under this Agreement more than one year
after the cause of action arose. Each party waives its rights to a jury trial
in any resulting litigation.
diff --git a/ide/lsp.client/external/lsp4j-0.12.0-license.txt
b/ide/lsp.client/external/xtend-2.24.0-license.txt
similarity index 98%
rename from ide/lsp.client/external/lsp4j-0.12.0-license.txt
rename to ide/lsp.client/external/xtend-2.24.0-license.txt
index 7151ac5768..73a8a0cf78 100644
--- a/ide/lsp.client/external/lsp4j-0.12.0-license.txt
+++ b/ide/lsp.client/external/xtend-2.24.0-license.txt
@@ -1,10 +1,10 @@
-Name: Eclipse Language Server Protocol Library
+Name: Eclipse Xtend library
Origin: Eclipse
-Version: 0.12.0
+Version: 2.24.0
License: EPL-v20
URL: http://www.eclipse.org/
-Description: Eclipse Language Server Protocol Library
-Files: org.eclipse.lsp4j-0.12.0.jar org.eclipse.lsp4j.generator-0.12.0.jar
org.eclipse.lsp4j.jsonrpc-0.12.0.jar
+Description: Eclipse Xtend library
+Files: org.eclipse.xtend.lib-2.24.0.jar org.eclipse.xtend.lib.macro-2.24.0.jar
org.eclipse.xtext.xbase.lib-2.24.0.jar
Eclipse Public License - v 2.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
diff --git a/ide/lsp.client/nbproject/project.properties
b/ide/lsp.client/nbproject/project.properties
index 7a7dd425c6..5e99b22995 100644
--- a/ide/lsp.client/nbproject/project.properties
+++ b/ide/lsp.client/nbproject/project.properties
@@ -18,10 +18,10 @@
javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial
javadoc.arch=${basedir}/arch.xml
-release.external/org.eclipse.lsp4j-0.12.0.jar=modules/ext/org.eclipse.lsp4j-0.12.0.jar
-release.external/org.eclipse.lsp4j.generator-0.12.0.jar=modules/ext/org.eclipse.lsp4j.generator-0.12.0.jar
-release.external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc-0.12.0.jar
-release.external/org.eclipse.xtend.lib-2.19.0.jar=modules/ext/org.eclipse.xtend.lib-2.19.0.jar
-release.external/org.eclipse.xtend.lib.macro-2.19.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.19.0.jar
-release.external/org.eclipse.xtext.xbase.lib-2.19.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.19.0.jar
+release.external/org.eclipse.lsp4j-0.13.0.jar=modules/ext/org.eclipse.lsp4j-0.13.0.jar
+release.external/org.eclipse.lsp4j.generator-0.13.0.jar=modules/ext/org.eclipse.lsp4j.generator-0.13.0.jar
+release.external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc-0.13.0.jar
+release.external/org.eclipse.xtend.lib-2.24.0.jar=modules/ext/org.eclipse.xtend.lib-2.24.0.jar
+release.external/org.eclipse.xtend.lib.macro-2.24.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.24.0.jar
+release.external/org.eclipse.xtext.xbase.lib-2.24.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.24.0.jar
spec.version.base=1.17.0
diff --git a/ide/lsp.client/nbproject/project.xml
b/ide/lsp.client/nbproject/project.xml
index ffd8417b01..02825de63c 100644
--- a/ide/lsp.client/nbproject/project.xml
+++ b/ide/lsp.client/nbproject/project.xml
@@ -414,28 +414,28 @@
<package>org.netbeans.modules.lsp.client.spi</package>
</public-packages>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.xtend.lib.macro-2.19.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.xtend.lib.macro-2.19.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.xtend.lib.macro-2.24.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.xtend.lib.macro-2.24.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.generator-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.generator-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.generator-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.generator-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.xtend.lib-2.19.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.xtend.lib-2.19.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.xtend.lib-2.24.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.xtend.lib-2.24.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.xtext.xbase.lib-2.19.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.xtext.xbase.lib-2.19.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.xtext.xbase.lib-2.24.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.xtext.xbase.lib-2.24.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar</binary-origin>
</class-path-extension>
</data>
</configuration>
diff --git
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java
index 97ba03d442..4c2357ffae 100644
---
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java
+++
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/BaseSymbolProvider.java
@@ -33,8 +33,14 @@ import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.Icon;
+import org.eclipse.lsp4j.Location;
+import org.eclipse.lsp4j.Position;
+import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.SymbolInformation;
+import org.eclipse.lsp4j.WorkspaceSymbol;
+import org.eclipse.lsp4j.WorkspaceSymbolLocation;
import org.eclipse.lsp4j.WorkspaceSymbolParams;
+import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.netbeans.api.project.FileOwnerQuery;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectInformation;
@@ -56,16 +62,16 @@ public class BaseSymbolProvider {
private static final Pattern WORD_START =
Pattern.compile("(^|[^\\p{L}])(\\p{L})");
private final AtomicBoolean cancel = new AtomicBoolean();
- private CompletableFuture<List<? extends SymbolInformation>> currentQuery;
+ private CompletableFuture<Either<List<? extends SymbolInformation>, List<?
extends WorkspaceSymbol>>> currentQuery;
public String name() {
return "lsp-client";
}
- public void computeSymbolNames(SearchType searchType, String searchText,
BiConsumer<SymbolInformation, String> found) {
+ public void computeSymbolNames(SearchType searchType, String searchText,
BiConsumer<Either<SymbolInformation, WorkspaceSymbol>, String> found) {
cancel.set(false);
- List<CompletableFuture<List<? extends SymbolInformation>>> queries =
new ArrayList<>();
+ List<CompletableFuture<Either<List<? extends SymbolInformation>,
List<? extends WorkspaceSymbol>>>> queries = new ArrayList<>();
try {
for (LSPBindings b : LSPBindings.getAllBindings()) {
@@ -86,21 +92,34 @@ public class BaseSymbolProvider {
try {
currentQuery = queries.remove(queries.size() - 1);
- List<? extends SymbolInformation> infos =
currentQuery.get();
+ Either<List<? extends SymbolInformation>, List<? extends
WorkspaceSymbol>> infos = currentQuery.get();
currentQuery = null;
if (infos != null) {
- for (SymbolInformation info : infos) {
- if (cancel.get()) {
- return ;
+ if (infos.isLeft()) {
+ for (SymbolInformation info : infos.getLeft()) {
+ if (cancel.get()) {
+ return ;
+ }
+ Matcher wordStartMatcher =
WORD_START.matcher(info.getName());
+ while (wordStartMatcher.find()) {
+ int nameStart = wordStartMatcher.start(2);
+ String namePart =
info.getName().substring(nameStart);
+ if (matcher.accept(namePart)) {
+ found.accept(Either.forLeft(info),
namePart);
+ }
+ }
}
- Matcher wordStartMatcher =
WORD_START.matcher(info.getName());
- while (wordStartMatcher.find()) {
- int nameStart = wordStartMatcher.start(2);
- String namePart =
info.getName().substring(nameStart);
- if (matcher.accept(namePart)) {
- found.accept(info, namePart);
+ } else if (infos.isRight()) {
+ for (WorkspaceSymbol sym : infos.getRight()) {
+ Matcher wordStartMatcher =
WORD_START.matcher(sym.getName());
+ while (wordStartMatcher.find()) {
+ int nameStart = wordStartMatcher.start(2);
+ String namePart =
sym.getName().substring(nameStart);
+ if (matcher.accept(namePart)) {
+ found.accept(Either.forRight(sym),
namePart);
+ }
}
}
}
@@ -138,22 +157,21 @@ public class BaseSymbolProvider {
public static interface BaseSymbolDescriptor {
- public SymbolInformation getInfo();
+ public Either<SymbolInformation, WorkspaceSymbol> getInfo();
public default Icon getIcon() {
- return Icons.getSymbolIcon(getInfo().getKind());
+ return Icons.getSymbolIcon(getInfo().isLeft() ?
getInfo().getLeft().getKind() : getInfo().getRight().getKind());
}
public default String getSymbolName() {
- return getInfo().getName();
+ return getInfo().isLeft() ? getInfo().getLeft().getName() :
getInfo().getRight().getName();
}
public default String getOwnerName() {
- String container = getInfo().getContainerName();
+ String container = getInfo().isLeft() ?
getInfo().getLeft().getContainerName() :
getInfo().getRight().getContainerName();
if (container == null || "".equals(container)) {
- String uri = getInfo().getLocation().getUri();
-
+ String uri = getUri();
container = uri.substring(uri.lastIndexOf('/') + 1);
}
@@ -185,7 +203,7 @@ public class BaseSymbolProvider {
public default FileObject getFileObject() {
try {
- URI target = URI.create(getInfo().getLocation().getUri());
+ URI target = URI.create(getUri());
return URLMapper.findFileObject(target.toURL());
} catch (MalformedURLException ex) {
@@ -199,8 +217,29 @@ public class BaseSymbolProvider {
}
public default void open() {
- Utils.open(getInfo().getLocation().getUri(),
getInfo().getLocation().getRange());
+ Utils.open(getUri(), getRange());
+ }
+
+ public default String getUri() {
+ if (getInfo().isLeft()) {
+ return getInfo().getLeft().getLocation().getUri();
+ }
+ Either<Location, WorkspaceSymbolLocation> location =
getInfo().getRight().getLocation();
+ if (location.isLeft()) {
+ return location.getLeft().getUri();
+ }
+ return location.getRight().getUri();
}
+ public default Range getRange() {
+ if (getInfo().isLeft()) {
+ return getInfo().getLeft().getLocation().getRange();
+ }
+ Either<Location, WorkspaceSymbolLocation> location =
getInfo().getRight().getLocation();
+ if (location.isLeft()) {
+ return location.getLeft().getRange();
+ }
+ return new Range(new Position(0, 0), new Position(0, 0));
+ }
}
}
diff --git
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java
index 250b783f91..1d3723d730 100644
---
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java
+++
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SymbolProviderImpl.java
@@ -20,6 +20,8 @@ package org.netbeans.modules.lsp.client.bindings;
import javax.swing.Icon;
import org.eclipse.lsp4j.SymbolInformation;
+import org.eclipse.lsp4j.WorkspaceSymbol;
+import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.netbeans.spi.jumpto.symbol.SymbolDescriptor;
import org.netbeans.spi.jumpto.symbol.SymbolProvider;
import org.openide.filesystems.FileObject;
@@ -46,16 +48,16 @@ public class SymbolProviderImpl extends BaseSymbolProvider
implements SymbolProv
public static class SymbolDescriptorImpl extends SymbolDescriptor
implements BaseSymbolDescriptor {
- private final SymbolInformation info;
+ private final Either<SymbolInformation, WorkspaceSymbol> info;
private final String simpleName;
- public SymbolDescriptorImpl(SymbolInformation info, String simpleName)
{
+ public SymbolDescriptorImpl(Either<SymbolInformation, WorkspaceSymbol>
info, String simpleName) {
this.info = info;
this.simpleName = simpleName;
}
@Override
- public SymbolInformation getInfo() {
+ public Either<SymbolInformation, WorkspaceSymbol> getInfo() {
return info;
}
diff --git
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java
index 498cdb35e9..a05a91c8b2 100644
---
a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java
+++
b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TypeProviderImpl.java
@@ -23,6 +23,8 @@ import java.util.Set;
import javax.swing.Icon;
import org.eclipse.lsp4j.SymbolInformation;
import org.eclipse.lsp4j.SymbolKind;
+import org.eclipse.lsp4j.WorkspaceSymbol;
+import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.netbeans.spi.jumpto.type.TypeDescriptor;
import org.netbeans.spi.jumpto.type.TypeProvider;
import org.openide.filesystems.FileObject;
@@ -52,24 +54,25 @@ public class TypeProviderImpl extends BaseSymbolProvider
implements TypeProvider
computeSymbolNames(context.getSearchType(),
context.getText(),
(info, simpleName) -> {
- if (TYPE_KINDS.contains(info.getKind())) {
- result.addResult(new
TypeDescriptorImpl(info, simpleName));
- }
+ SymbolKind kind = info.isLeft() ?
info.getLeft().getKind() : info.getRight().getKind();
+ if (TYPE_KINDS.contains(kind)) {
+ result.addResult(new
TypeDescriptorImpl(info, simpleName));
+ }
});
}
public static class TypeDescriptorImpl extends TypeDescriptor implements
BaseSymbolDescriptor {
- private final SymbolInformation info;
+ private final Either<SymbolInformation, WorkspaceSymbol> info;
private final String simpleName;
- public TypeDescriptorImpl(SymbolInformation info, String simpleName) {
+ public TypeDescriptorImpl(Either<SymbolInformation, WorkspaceSymbol>
info, String simpleName) {
this.info = info;
this.simpleName = simpleName;
}
@Override
- public SymbolInformation getInfo() {
+ public Either<SymbolInformation, WorkspaceSymbol> getInfo() {
return info;
}
diff --git a/java/java.lsp.server/external/binaries-list
b/java/java.lsp.server/external/binaries-list
index 0e681892f2..9081ffa6f0 100644
--- a/java/java.lsp.server/external/binaries-list
+++ b/java/java.lsp.server/external/binaries-list
@@ -15,11 +15,11 @@
# specific language governing permissions and limitations
# under the License.
-419B5181A4B2D054BF8FF764FCEB67DF09D87E7D
org.eclipse.lsp4j:org.eclipse.lsp4j:0.12.0
-36F085FE35A24CD69A8E3F78F046E91D5DB8F360
org.eclipse.lsp4j:org.eclipse.lsp4j.debug:0.12.0
-80607078CEB77F92C6BFEC3CDEC050D3222EFDFF
org.eclipse.lsp4j:org.eclipse.lsp4j.generator:0.12.0
-8A80D1368F19A2F6E328E41B9BC68E53C628C68B
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.12.0
-FB4B99875D4879475FFFD864E3FE94E4E74BEEC1
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc.debug:0.12.0
+E95BD5C2A465A40A66C9DC098BF95C237B80C4EB
org.eclipse.lsp4j:org.eclipse.lsp4j:0.13.0
+A491B7AC91B35EC177DE629518D5A68A9C7878FC
org.eclipse.lsp4j:org.eclipse.lsp4j.debug:0.13.0
+82848D7796D399F3E5109B7331A143D7C649B520
org.eclipse.lsp4j:org.eclipse.lsp4j.generator:0.13.0
+0B50BD2A6AF496803F72176AD066532DAE62574E
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.13.0
+68AB471B1FED84FABA25D6CE9005B9369B503A74
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc.debug:0.13.0
A57306D5D523A4750FA09B2708062EA4972AFEA2
org.eclipse.xtend:org.eclipse.xtend.lib:2.24.0
D8F5566BA67748ED9E91856E077EE99F00E86653
org.eclipse.xtend:org.eclipse.xtend.lib.macro:2.24.0
53FBD66084B08850258E61C838CC1FB94335E718
org.eclipse.xtext:org.eclipse.xtext.xbase.lib:2.24.0
diff --git a/java/java.lsp.server/external/lsp4j-0.12.0-license.txt
b/java/java.lsp.server/external/lsp4j-0.13.0-license.txt
similarity index 98%
rename from java/java.lsp.server/external/lsp4j-0.12.0-license.txt
rename to java/java.lsp.server/external/lsp4j-0.13.0-license.txt
index d352708974..0febd7daaf 100644
--- a/java/java.lsp.server/external/lsp4j-0.12.0-license.txt
+++ b/java/java.lsp.server/external/lsp4j-0.13.0-license.txt
@@ -1,10 +1,10 @@
Name: Eclipse Language Server Protocol Library
Origin: Eclipse
-Version: 0.12.0
+Version: 0.13.0
License: EPL-v20
URL: http://www.eclipse.org/
Description: Eclipse Language Server Protocol Library
-Files: org.eclipse.lsp4j-0.12.0.jar org.eclipse.lsp4j.debug-0.12.0.jar
org.eclipse.lsp4j.generator-0.12.0.jar org.eclipse.lsp4j.jsonrpc-0.12.0.jar
org.eclipse.lsp4j.jsonrpc.debug-0.12.0.jar
+Files: org.eclipse.lsp4j-0.13.0.jar org.eclipse.lsp4j.debug-0.13.0.jar
org.eclipse.lsp4j.generator-0.13.0.jar org.eclipse.lsp4j.jsonrpc-0.13.0.jar
org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar
Eclipse Public License - v 2.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
diff --git a/java/java.lsp.server/nbproject/project.properties
b/java/java.lsp.server/nbproject/project.properties
index acef7d76c8..14d8326b77 100644
--- a/java/java.lsp.server/nbproject/project.properties
+++ b/java/java.lsp.server/nbproject/project.properties
@@ -24,11 +24,11 @@ lsp.build.dir=vscode/nbcode
test.unit.run.cp.extra=
cp.extra=${tools.jar}
-release.external/org.eclipse.lsp4j-0.12.0.jar=modules/ext/org.eclipse.lsp4j-0.12.0.jar
-release.external/org.eclipse.lsp4j.debug-0.12.0.jar=modules/ext/org.eclipse.lsp4j.debug-0.12.0.jar
-release.external/org.eclipse.lsp4j.generator-0.12.0.jar=modules/ext/org.eclipse.lsp4j.generator-0.12.0.jar
-release.external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc-0.12.0.jar
-release.external/org.eclipse.lsp4j.jsonrpc.debug-0.12.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc.debug-0.12.0.jar
+release.external/org.eclipse.lsp4j-0.13.0.jar=modules/ext/org.eclipse.lsp4j-0.13.0.jar
+release.external/org.eclipse.lsp4j.debug-0.13.0.jar=modules/ext/org.eclipse.lsp4j.debug-0.13.0.jar
+release.external/org.eclipse.lsp4j.generator-0.13.0.jar=modules/ext/org.eclipse.lsp4j.generator-0.13.0.jar
+release.external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc-0.13.0.jar
+release.external/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar=modules/ext/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar
release.external/org.eclipse.xtend.lib-2.24.0.jar=modules/ext/org.eclipse.xtend.lib-2.24.0.jar
release.external/org.eclipse.xtend.lib.macro-2.24.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.24.0.jar
release.external/org.eclipse.xtext.xbase.lib-2.24.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.24.0.jar
diff --git a/java/java.lsp.server/nbproject/project.xml
b/java/java.lsp.server/nbproject/project.xml
index 3a2d88749a..7ba0260797 100644
--- a/java/java.lsp.server/nbproject/project.xml
+++ b/java/java.lsp.server/nbproject/project.xml
@@ -779,24 +779,24 @@
<package>org.netbeans.modules.java.lsp.server.ui</package>
</public-packages>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.debug-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.debug-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.debug-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.debug-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/org.eclipse.xtend.lib.macro-2.24.0.jar</runtime-relative-path>
<binary-origin>external/org.eclipse.xtend.lib.macro-2.24.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.generator-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.generator-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.generator-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.generator-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc.debug-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j.jsonrpc.debug-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/org.eclipse.xtend.lib-2.24.0.jar</runtime-relative-path>
@@ -807,8 +807,8 @@
<binary-origin>external/org.eclipse.xtext.xbase.lib-2.24.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
-
<runtime-relative-path>ext/org.eclipse.lsp4j-0.12.0.jar</runtime-relative-path>
-
<binary-origin>external/org.eclipse.lsp4j-0.12.0.jar</binary-origin>
+
<runtime-relative-path>ext/org.eclipse.lsp4j-0.13.0.jar</runtime-relative-path>
+
<binary-origin>external/org.eclipse.lsp4j-0.13.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-io-2.5.jar</runtime-relative-path>
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/NbProtocolServer.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/NbProtocolServer.java
index 9ba22610d6..88ad47441d 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/NbProtocolServer.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/NbProtocolServer.java
@@ -57,6 +57,7 @@ import org.eclipse.lsp4j.debug.ScopesResponse;
import org.eclipse.lsp4j.debug.SetBreakpointsArguments;
import org.eclipse.lsp4j.debug.SetBreakpointsResponse;
import org.eclipse.lsp4j.debug.SetExceptionBreakpointsArguments;
+import org.eclipse.lsp4j.debug.SetExceptionBreakpointsResponse;
import org.eclipse.lsp4j.debug.SetVariableArguments;
import org.eclipse.lsp4j.debug.SetVariableResponse;
import org.eclipse.lsp4j.debug.Source;
@@ -175,7 +176,7 @@ public final class NbProtocolServer implements
IDebugProtocolServer, LspSession.
context.getConfigurationSemaphore().notifyCongigurationDone();;
future.complete(null);
} else {
- ErrorUtilities.completeExceptionally(future, "Failed to launch
debug session, the debugger will exit.", ResponseErrorCode.serverErrorStart);
+ ErrorUtilities.completeExceptionally(future, "Failed to launch
debug session, the debugger will exit.",
ResponseErrorCode.ServerNotInitialized);
}
return future;
}
@@ -201,7 +202,7 @@ public final class NbProtocolServer implements
IDebugProtocolServer, LspSession.
}
@Override
- public CompletableFuture<Void>
setExceptionBreakpoints(SetExceptionBreakpointsArguments args) {
+ public CompletableFuture<SetExceptionBreakpointsResponse>
setExceptionBreakpoints(SetExceptionBreakpointsArguments args) {
return breakpointsRequestHandler.setExceptionBreakpoints(args,
context);
}
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/attach/NbAttachRequestHandler.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/attach/NbAttachRequestHandler.java
index a6a0327f09..cc22ad72c2 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/attach/NbAttachRequestHandler.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/attach/NbAttachRequestHandler.java
@@ -104,7 +104,7 @@ public final class NbAttachRequestHandler {
if (nativeImagePath == null) {
ErrorUtilities.completeExceptionally(resultFuture,
Bundle.MSG_UnknownNIPath(),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return resultFuture;
}
}
@@ -113,7 +113,7 @@ public final class NbAttachRequestHandler {
} catch (NumberFormatException nfex) {
ErrorUtilities.completeExceptionally(resultFuture,
nfex.getLocalizedMessage(),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
}
return resultFuture;
}
@@ -169,7 +169,7 @@ public final class NbAttachRequestHandler {
String name = (String) attachArguments.get("name"); // NOI18N
ErrorUtilities.completeExceptionally(resultFuture,
Bundle.MSG_InvalidConnector(name),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
}
return resultFuture;
}
@@ -187,7 +187,7 @@ public final class NbAttachRequestHandler {
if (!arg.isValid(value)) {
ErrorUtilities.completeExceptionally(resultFuture,
Bundle.MSG_ConnectorInvalidValue(argName, value),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return ;
}
arg.setValue(value);
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/breakpoints/NbBreakpointsRequestHandler.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/breakpoints/NbBreakpointsRequestHandler.java
index 948441f2ed..903f961818 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/breakpoints/NbBreakpointsRequestHandler.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/breakpoints/NbBreakpointsRequestHandler.java
@@ -29,10 +29,10 @@ import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.lsp4j.debug.Breakpoint;
-import org.eclipse.lsp4j.debug.BreakpointEventArguments;
import org.eclipse.lsp4j.debug.SetBreakpointsArguments;
import org.eclipse.lsp4j.debug.SetBreakpointsResponse;
import org.eclipse.lsp4j.debug.SetExceptionBreakpointsArguments;
+import org.eclipse.lsp4j.debug.SetExceptionBreakpointsResponse;
import org.eclipse.lsp4j.debug.Source;
import org.eclipse.lsp4j.debug.SourceBreakpoint;
import org.eclipse.lsp4j.jsonrpc.messages.ResponseErrorCode;
@@ -116,8 +116,8 @@ public final class NbBreakpointsRequestHandler {
}
}
- public CompletableFuture<Void>
setExceptionBreakpoints(SetExceptionBreakpointsArguments arguments,
DebugAdapterContext context) {
- CompletableFuture<Void> resultFuture = new CompletableFuture<>();
+ public CompletableFuture<SetExceptionBreakpointsResponse>
setExceptionBreakpoints(SetExceptionBreakpointsArguments arguments,
DebugAdapterContext context) {
+ CompletableFuture<SetExceptionBreakpointsResponse> resultFuture = new
CompletableFuture<>();
if (context.getDebugSession() == null) {
ErrorUtilities.completeExceptionally(resultFuture, "Empty debug
session.", ResponseErrorCode.InvalidParams);
return resultFuture;
@@ -126,7 +126,9 @@ public final class NbBreakpointsRequestHandler {
boolean notifyCaught = ArrayUtils.contains(filters,
CAUGHT_EXCEPTION_FILTER_NAME);
boolean notifyUncaught = ArrayUtils.contains(filters,
UNCAUGHT_EXCEPTION_FILTER_NAME);
context.getBreakpointManager().setExceptionBreakpoints(notifyCaught,
notifyUncaught);
- return CompletableFuture.completedFuture(null);
+ SetExceptionBreakpointsResponse response = new
SetExceptionBreakpointsResponse();
+ // TODO: response.setBreakpoints(...);
+ return CompletableFuture.completedFuture(response);
}
private NbBreakpoint[] convertClientBreakpointsToDebugger(Source source,
String sourceFile, SourceBreakpoint[] sourceBreakpoints, DebugAdapterContext
context) {
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
index 8abb680b5d..156d8734c1 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
@@ -409,7 +409,7 @@ public abstract class NbLaunchDelegate {
} catch (IOException ex) {
ErrorUtilities.completeExceptionally(launchFuture,
"Failed to run debuggee native image: " +
ex.getLocalizedMessage(),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
throw ex;
}
}, executionDescriptor, "Run - " + nativeImageFile.getName()).run();
@@ -459,7 +459,7 @@ public abstract class NbLaunchDelegate {
} catch (IllegalStateException ex) {
ErrorUtilities.completeExceptionally(launchFuture,
"Failed to launch debuggee native image. " +
ex.getLocalizedMessage(),
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
debugProgress.finished(false);
return ;
}
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
index 58af8dcf0b..5ec31be351 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
@@ -73,7 +73,7 @@ public final class NbLaunchRequestHandler {
|| modulePaths.isEmpty() && classPaths.isEmpty())) {
ErrorUtilities.completeExceptionally(resultFuture,
"Failed to launch debuggee VM. Missing mainClass or
modulePaths/classPaths options in launch configuration.",
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return resultFuture;
}
if (StringUtils.isBlank((String)launchArguments.get("encoding"))) {
@@ -82,7 +82,7 @@ public final class NbLaunchRequestHandler {
if (!Charset.isSupported((String)launchArguments.get("encoding")))
{
ErrorUtilities.completeExceptionally(resultFuture,
"Failed to launch debuggee VM. 'encoding' options in the
launch configuration is not recognized.",
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return resultFuture;
}
context.setDebuggeeEncoding(Charset.forName((String)launchArguments.get("encoding")));
@@ -116,7 +116,7 @@ public final class NbLaunchRequestHandler {
if (file == null) {
ErrorUtilities.completeExceptionally(resultFuture,
"Missing file: " + filePath,
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return resultFuture;
}
} else {
@@ -124,7 +124,7 @@ public final class NbLaunchRequestHandler {
if (nativeImage == null) {
ErrorUtilities.completeExceptionally(resultFuture,
"Failed to launch debuggee native image. No native image
is specified.",
- ResponseErrorCode.serverErrorStart);
+ ResponseErrorCode.ServerNotInitialized);
return resultFuture;
}
nativeImageFile = new File(nativeImage);
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java
index 71debd331a..73c0d8d6a0 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java
@@ -30,7 +30,6 @@ import org.eclipse.lsp4j.MessageParams;
import org.eclipse.lsp4j.ProgressParams;
import org.eclipse.lsp4j.PublishDiagnosticsParams;
import org.eclipse.lsp4j.RegistrationParams;
-import org.eclipse.lsp4j.SetTraceParams;
import org.eclipse.lsp4j.ShowDocumentParams;
import org.eclipse.lsp4j.ShowDocumentResult;
import org.eclipse.lsp4j.ShowMessageRequestParams;
@@ -174,11 +173,6 @@ class NbCodeClientWrapper implements NbCodeLanguageClient {
remote.logTrace(params);
}
- @Override
- public void setTrace(SetTraceParams params) {
- remote.setTrace(params);
- }
-
@Override
public CompletableFuture<Void> refreshSemanticTokens() {
return remote.refreshSemanticTokens();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java
index d7d07d2959..b4c9508168 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java
@@ -74,7 +74,9 @@ import org.eclipse.lsp4j.Position;
import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.ShowDocumentParams;
import org.eclipse.lsp4j.SymbolInformation;
+import org.eclipse.lsp4j.WorkspaceSymbol;
import org.eclipse.lsp4j.WorkspaceSymbolParams;
+import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.eclipse.lsp4j.services.LanguageClient;
import org.eclipse.lsp4j.services.LanguageClientAware;
import org.eclipse.lsp4j.services.WorkspaceService;
@@ -678,15 +680,15 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
private static final String SOURCE_FOR = "sourceFor:";
@Override
- public CompletableFuture<List<? extends SymbolInformation>>
symbol(WorkspaceSymbolParams params) {
+ public CompletableFuture<Either<List<? extends SymbolInformation>, List<?
extends WorkspaceSymbol>>> symbol(WorkspaceSymbolParams params) {
// shortcut: if the projects are not yet initialized, return empty:
if (server.openedProjects().getNow(null) == null) {
- return CompletableFuture.completedFuture(Collections.emptyList());
+ return
CompletableFuture.completedFuture(Either.forLeft(Collections.emptyList()));
}
String query = params.getQuery();
if (query.isEmpty()) {
//cannot query "all":
- return CompletableFuture.completedFuture(Collections.emptyList());
+ return
CompletableFuture.completedFuture(Either.forLeft(Collections.emptyList()));
}
System.err.println("query=" + query);
boolean exact = false;
@@ -697,7 +699,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
String queryFin = query;
boolean exactFin = exact;
AtomicBoolean cancel = new AtomicBoolean();
- CompletableFuture<List<? extends SymbolInformation>> result = new
CompletableFuture<List<? extends SymbolInformation>>() {
+ CompletableFuture<Either<List<? extends SymbolInformation>, List<?
extends WorkspaceSymbol>>> result = new CompletableFuture<Either<List<? extends
SymbolInformation>, List<? extends WorkspaceSymbol>>>() {
@Override
public boolean cancel(boolean mayInterruptIfRunning) {
cancel.set(mayInterruptIfRunning);
@@ -833,7 +835,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
symbols.add(symbol);
}
Collections.sort(symbols, (i1, i2) ->
i1.getName().compareToIgnoreCase(i2.getName()));
- result.complete(symbols);
+ result.complete(Either.forLeft(symbols));
} catch (Throwable t) {
result.completeExceptionally(t);
}
diff --git
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/NodeActionsProviderTest.java
b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/NodeActionsProviderTest.java
index 53ebe460f1..84733ed68e 100644
---
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/NodeActionsProviderTest.java
+++
b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/NodeActionsProviderTest.java
@@ -32,7 +32,6 @@ import javax.swing.SwingUtilities;
import static junit.framework.TestCase.assertEquals;
import org.eclipse.lsp4j.LogTraceParams;
import org.eclipse.lsp4j.RegistrationParams;
-import org.eclipse.lsp4j.SetTraceParams;
import org.eclipse.lsp4j.ShowDocumentParams;
import org.eclipse.lsp4j.ShowDocumentResult;
import org.eclipse.lsp4j.UnregistrationParams;
@@ -96,11 +95,6 @@ public class NodeActionsProviderTest {
super.logTrace(params);
}
- @Override
- public void setTrace(SetTraceParams params) {
- super.setTrace(params);
- }
-
@Override
public CompletableFuture<Void> refreshSemanticTokens() {
return super.refreshSemanticTokens();
diff --git
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java
b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java
index d021ac258b..33b37492d1 100644
---
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java
+++
b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java
@@ -135,6 +135,7 @@ import org.eclipse.lsp4j.WorkspaceClientCapabilities;
import org.eclipse.lsp4j.WorkspaceEdit;
import org.eclipse.lsp4j.WorkspaceEditCapabilities;
import org.eclipse.lsp4j.WorkspaceFolder;
+import org.eclipse.lsp4j.WorkspaceSymbol;
import org.eclipse.lsp4j.WorkspaceSymbolParams;
import org.eclipse.lsp4j.jsonrpc.Launcher;
import org.eclipse.lsp4j.jsonrpc.messages.Either;
@@ -1773,8 +1774,8 @@ public class ServerTest extends NbTestCase {
initParams.setRootUri(toURI(getWorkDir()));
InitializeResult result = server.initialize(initParams).get();
indexingComplete.await();
- List<? extends SymbolInformation> symbols =
server.getWorkspaceService().symbol(new WorkspaceSymbolParams("Tes")).get();
- List<String> actual = symbols.stream().map(si -> si.getKind() + ":" +
si.getName() + ":" + si.getContainerName() + ":" +
toString(si.getLocation())).collect(Collectors.toList());
+ Either<List<? extends SymbolInformation>, List<? extends
WorkspaceSymbol>> symbols = server.getWorkspaceService().symbol(new
WorkspaceSymbolParams("Tes")).get();
+ List<String> actual = symbols.getRight().stream().map(ws ->
ws.getKind() + ":" + ws.getName() + ":" + ws.getContainerName() + ":" +
toString(ws.getLocation().getLeft())).collect(Collectors.toList());
assertEquals(Arrays.asList("Class:Test:null:Test:0:0-0:0",
"Constructor:Test():Test:Test.java:0:7-0:7",
"Method:testMethod():Test:Test.java:2:4-2:38",
diff --git a/java/java.lsp.server/vscode/CHANGELOG.md
b/java/java.lsp.server/vscode/CHANGELOG.md
index c3e8b2d59d..242621ea9b 100644
--- a/java/java.lsp.server/vscode/CHANGELOG.md
+++ b/java/java.lsp.server/vscode/CHANGELOG.md
@@ -20,6 +20,9 @@
under the License.
-->
+## Version 14.0.301
+* Format Document and Format Selection added.
+
## Version 14.0
* Workaround for VSCode 1.67 error which breaks Projects explorer icon
* Remove HTML tags from project problem messages
diff --git a/java/java.lsp.server/vscode/package-lock.json
b/java/java.lsp.server/vscode/package-lock.json
index be46468fe2..437b976520 100644
--- a/java/java.lsp.server/vscode/package-lock.json
+++ b/java/java.lsp.server/vscode/package-lock.json
@@ -10,23 +10,23 @@
"license": "Apache 2.0",
"dependencies": {
"jsonc-parser": "3.0.0",
- "vscode-debugadapter": "1.42.1",
- "vscode-languageclient": "7.0.0"
+ "vscode-debugadapter": "1.51.0",
+ "vscode-languageclient": "8.0.1"
},
"devDependencies": {
"@types/glob": "^7.1.1",
"@types/mocha": "^9.0.0",
"@types/node": "^13.11.0",
"@types/ps-node": "^0.1.0",
- "@types/vscode": "^1.60.0",
+ "@types/vscode": "^1.67.0",
"glob": "^7.1.6",
"mocha": "^9.1.2",
"ps-node": "^0.1.6",
- "typescript": "^3.8.3",
+ "typescript": "^4.6.4",
"vscode-test": "^1.3.0"
},
"engines": {
- "vscode": "^1.60.0"
+ "vscode": "^1.67.0"
}
},
"node_modules/@types/glob": {
@@ -59,9 +59,10 @@
"license": "MIT"
},
"node_modules/@types/vscode": {
- "version": "1.60.0",
- "dev": true,
- "license": "MIT"
+ "version": "1.67.0",
+ "resolved":
"https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz",
+ "integrity":
"sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==",
+ "dev": true
},
"node_modules/@ungap/promise-all-settled": {
"version": "1.1.2",
@@ -638,18 +639,15 @@
"node": "*"
}
},
- "node_modules/minimist": {
- "version": "1.2.6",
- "license": "MIT"
- },
"node_modules/mkdirp": {
- "version": "0.5.5",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.5"
- },
+ "version": "1.0.4",
+ "resolved":
"https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"bin": {
"mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/mocha": {
@@ -941,9 +939,10 @@
}
},
"node_modules/typescript": {
- "version": "3.9.7",
+ "version": "4.6.4",
+ "resolved":
"https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
+ "integrity":
"sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
"dev": true,
- "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -953,47 +952,55 @@
}
},
"node_modules/vscode-debugadapter": {
- "version": "1.42.1",
- "license": "MIT",
+ "version": "1.51.0",
+ "resolved":
"https://registry.npmjs.org/vscode-debugadapter/-/vscode-debugadapter-1.51.0.tgz",
+ "integrity":
"sha512-mObaXD5/FH/z6aL2GDuyCLbnwLsYRCAJWgFid01vKW9Y5Si8OvINK+Tn+Yl/lRUbetjNuZW3j1euMEz6z8Yzqg==",
+ "deprecated": "This package has been renamed to
@vscode/debugadapter, please update to the new name",
"dependencies": {
- "mkdirp": "^0.5.5",
- "vscode-debugprotocol": "1.42.0"
+ "mkdirp": "^1.0.4",
+ "vscode-debugprotocol": "1.51.0"
}
},
"node_modules/vscode-debugprotocol": {
- "version": "1.42.0",
- "license": "MIT"
+ "version": "1.51.0",
+ "resolved":
"https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.51.0.tgz",
+ "integrity":
"sha512-dzKWTMMyebIMPF1VYMuuQj7gGFq7guR8AFya0mKacu+ayptJfaRuM0mdHCqiOth4FnRP8mPhEroFPx6Ift8wHA==",
+ "deprecated": "This package has been renamed to
@vscode/debugprotocol, please update to the new name"
},
"node_modules/vscode-jsonrpc": {
- "version": "6.0.0",
- "license": "MIT",
+ "version": "8.0.1",
+ "resolved":
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
+ "integrity":
"sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ==",
"engines": {
- "node": ">=8.0.0 || >=10.0.0"
+ "node": ">=14.0.0"
}
},
"node_modules/vscode-languageclient": {
- "version": "7.0.0",
- "license": "MIT",
+ "version": "8.0.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.1.tgz",
+ "integrity":
"sha512-9XoE+HJfaWvu7Y75H3VmLo5WLCtsbxEgEhrLPqwt7eyoR49lUIyyrjb98Yfa50JCMqF2cePJAEVI6oe2o1sIhw==",
"dependencies": {
"minimatch": "^3.0.4",
- "semver": "^7.3.4",
- "vscode-languageserver-protocol": "3.16.0"
+ "semver": "^7.3.5",
+ "vscode-languageserver-protocol": "3.17.1"
},
"engines": {
- "vscode": "^1.52.0"
+ "vscode": "^1.67.0"
}
},
"node_modules/vscode-languageserver-protocol": {
- "version": "3.16.0",
- "license": "MIT",
+ "version": "3.17.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz",
+ "integrity":
"sha512-BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==",
"dependencies": {
- "vscode-jsonrpc": "6.0.0",
- "vscode-languageserver-types": "3.16.0"
+ "vscode-jsonrpc": "8.0.1",
+ "vscode-languageserver-types": "3.17.1"
}
},
"node_modules/vscode-languageserver-types": {
- "version": "3.16.0",
- "license": "MIT"
+ "version": "3.17.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
+ "integrity":
"sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ=="
},
"node_modules/vscode-test": {
"version": "1.4.0",
@@ -1137,7 +1144,9 @@
"dev": true
},
"@types/vscode": {
- "version": "1.60.0",
+ "version": "1.67.0",
+ "resolved":
"https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz",
+ "integrity":
"sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==",
"dev": true
},
"@ungap/promise-all-settled": {
@@ -1491,14 +1500,10 @@
"brace-expansion": "^1.1.7"
}
},
- "minimist": {
- "version": "1.2.6"
- },
"mkdirp": {
- "version": "0.5.5",
- "requires": {
- "minimist": "^1.2.5"
- }
+ "version": "1.0.4",
+ "resolved":
"https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"mocha": {
"version": "9.2.0",
@@ -1672,39 +1677,53 @@
}
},
"typescript": {
- "version": "3.9.7",
+ "version": "4.6.4",
+ "resolved":
"https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
+ "integrity":
"sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
"dev": true
},
"vscode-debugadapter": {
- "version": "1.42.1",
+ "version": "1.51.0",
+ "resolved":
"https://registry.npmjs.org/vscode-debugadapter/-/vscode-debugadapter-1.51.0.tgz",
+ "integrity":
"sha512-mObaXD5/FH/z6aL2GDuyCLbnwLsYRCAJWgFid01vKW9Y5Si8OvINK+Tn+Yl/lRUbetjNuZW3j1euMEz6z8Yzqg==",
"requires": {
- "mkdirp": "^0.5.5",
- "vscode-debugprotocol": "1.42.0"
+ "mkdirp": "^1.0.4",
+ "vscode-debugprotocol": "1.51.0"
}
},
"vscode-debugprotocol": {
- "version": "1.42.0"
+ "version": "1.51.0",
+ "resolved":
"https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.51.0.tgz",
+ "integrity":
"sha512-dzKWTMMyebIMPF1VYMuuQj7gGFq7guR8AFya0mKacu+ayptJfaRuM0mdHCqiOth4FnRP8mPhEroFPx6Ift8wHA=="
},
"vscode-jsonrpc": {
- "version": "6.0.0"
+ "version": "8.0.1",
+ "resolved":
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz",
+ "integrity":
"sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ=="
},
"vscode-languageclient": {
- "version": "7.0.0",
+ "version": "8.0.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.1.tgz",
+ "integrity":
"sha512-9XoE+HJfaWvu7Y75H3VmLo5WLCtsbxEgEhrLPqwt7eyoR49lUIyyrjb98Yfa50JCMqF2cePJAEVI6oe2o1sIhw==",
"requires": {
"minimatch": "^3.0.4",
- "semver": "^7.3.4",
- "vscode-languageserver-protocol": "3.16.0"
+ "semver": "^7.3.5",
+ "vscode-languageserver-protocol": "3.17.1"
}
},
"vscode-languageserver-protocol": {
- "version": "3.16.0",
+ "version": "3.17.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz",
+ "integrity":
"sha512-BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==",
"requires": {
- "vscode-jsonrpc": "6.0.0",
- "vscode-languageserver-types": "3.16.0"
+ "vscode-jsonrpc": "8.0.1",
+ "vscode-languageserver-types": "3.17.1"
}
},
"vscode-languageserver-types": {
- "version": "3.16.0"
+ "version": "3.17.1",
+ "resolved":
"https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz",
+ "integrity":
"sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ=="
},
"vscode-test": {
"version": "1.4.0",
diff --git a/java/java.lsp.server/vscode/package.json
b/java/java.lsp.server/vscode/package.json
index 41cec58ee4..36c2986ff2 100644
--- a/java/java.lsp.server/vscode/package.json
+++ b/java/java.lsp.server/vscode/package.json
@@ -22,7 +22,7 @@
"multi-root ready"
],
"engines": {
- "vscode": "^1.60.0"
+ "vscode": "^1.67.0"
},
"activationEvents": [
"onLanguage:java",
@@ -821,16 +821,16 @@
"@types/mocha": "^9.0.0",
"@types/node": "^13.11.0",
"@types/ps-node": "^0.1.0",
- "@types/vscode": "^1.60.0",
+ "@types/vscode": "^1.67.0",
"glob": "^7.1.6",
"mocha": "^9.1.2",
"ps-node": "^0.1.6",
- "typescript": "^3.8.3",
+ "typescript": "^4.6.4",
"vscode-test": "^1.3.0"
},
"dependencies": {
"jsonc-parser": "3.0.0",
- "vscode-debugadapter": "1.42.1",
- "vscode-languageclient": "7.0.0"
+ "vscode-debugadapter": "1.51.0",
+ "vscode-languageclient": "8.0.1"
}
}
diff --git a/java/java.lsp.server/vscode/src/extension.ts
b/java/java.lsp.server/vscode/src/extension.ts
index 64e4531acf..762537d5ce 100644
--- a/java/java.lsp.server/vscode/src/extension.ts
+++ b/java/java.lsp.server/vscode/src/extension.ts
@@ -34,7 +34,9 @@ import {
MessageType,
LogMessageNotification,
RevealOutputChannelOn,
- DocumentSelector
+ DocumentSelector,
+ ErrorHandlerResult,
+ CloseHandlerResult
} from 'vscode-languageclient';
import * as net from 'net';
@@ -799,15 +801,15 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
}
},
errorHandler: {
- error : function(_error: Error, _message: Message, count:
number): ErrorAction {
- return ErrorAction.Continue;
+ error : function(error: Error, _message: Message, count:
number): ErrorHandlerResult {
+ return { action: ErrorAction.Continue, message:
error.message };
},
- closed : function(): CloseAction {
+ closed : function(): CloseHandlerResult {
handleLog(log, "Connection to Apache NetBeans Language
Server closed.");
if (!activationPending) {
restartWithJDKLater(10000, false);
}
- return CloseAction.DoNotRestart;
+ return { action: CloseAction.DoNotRestart };
}
}
}
@@ -821,8 +823,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
clientOptions
);
handleLog(log, 'Language Client: Starting');
- c.start();
- c.onReady().then(() => {
+ c.start().then(() => {
testAdapter = new NbTestAdapter();
c.onNotification(StatusMessageRequest.type, showStatusBarMessage);
c.onRequest(HtmlPageRequest.type, showHtmlPage);
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
index 47bbed89b9..121755049e 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
@@ -93,12 +93,12 @@ enterprise/javaee7.api/external/jaxws-api-2.2.8.jar
java/websvc.jaxws21api/exter
enterprise/javaee7.api/external/jsr181-api-1.0-MR1.jar
java/websvc.jaxws21api/external/jaxws-2.2.6-api.zip
# ide/lsp.client and java/java.lsp.server both use LSP libraries, but are
independent:
-ide/lsp.client/external/org.eclipse.lsp4j-0.12.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j-0.12.0.jar
-ide/lsp.client/external/org.eclipse.lsp4j.generator-0.12.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j.generator-0.12.0.jar
-ide/lsp.client/external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j.jsonrpc-0.12.0.jar
-ide/lsp.client/external/org.eclipse.xtend.lib-2.19.0.jar
java/java.lsp.server/external/org.eclipse.xtend.lib-2.19.0.jar
-ide/lsp.client/external/org.eclipse.xtend.lib.macro-2.19.0.jar
java/java.lsp.server/external/org.eclipse.xtend.lib.macro-2.19.0.jar
-ide/lsp.client/external/org.eclipse.xtext.xbase.lib-2.19.0.jar
java/java.lsp.server/external/org.eclipse.xtext.xbase.lib-2.19.0.jar
+ide/lsp.client/external/org.eclipse.lsp4j-0.13.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j-0.13.0.jar
+ide/lsp.client/external/org.eclipse.lsp4j.generator-0.13.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j.generator-0.13.0.jar
+ide/lsp.client/external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar
java/java.lsp.server/external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar
+ide/lsp.client/external/org.eclipse.xtend.lib-2.24.0.jar
java/java.lsp.server/external/org.eclipse.xtend.lib-2.24.0.jar
+ide/lsp.client/external/org.eclipse.xtend.lib.macro-2.24.0.jar
java/java.lsp.server/external/org.eclipse.xtend.lib.macro-2.24.0.jar
+ide/lsp.client/external/org.eclipse.xtext.xbase.lib-2.24.0.jar
java/java.lsp.server/external/org.eclipse.xtext.xbase.lib-2.24.0.jar
# Derby jar is used when run tests, so we can ignore the duplicates
ide/db/external/derby-10.14.2.0.jar
ide/db.metadata.model/external/derby-10.14.2.0.jar
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists