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

Reply via email to