This is an automated email from the ASF dual-hosted git repository.
jlahoda 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 5005a99293 Prefixing all code names of commands with 'nbls'. Adding
support for changing the prefix of code names of commands and configuration
options from on the client extension.
new 987396ce9b Merge pull request #6015 from
lahodaj/lsp-server-generic-commands-settings
5005a99293 is described below
commit 5005a9929379d80f79f96b1c773891a9cfb0244e
Author: Jan Lahoda <[email protected]>
AuthorDate: Fri Jun 2 14:58:02 2023 +0200
Prefixing all code names of commands with 'nbls'.
Adding support for changing the prefix of code names of commands and
configuration options from on the client extension.
---
.../netbeans/modules/java/lsp/server/Utils.java | 39 ++++++++
.../java/lsp/server/db/DBAddConnection.java | 2 +-
.../java/lsp/server/db/DBCommandProvider.java | 2 +-
.../java/lsp/server/db/DBConnectionProvider.java | 2 +-
.../modules/java/lsp/server/htmlui/WebView.java | 2 +-
.../ImplementAllAbstractMethodsAction.java | 2 +-
.../server/protocol/NbCodeClientCapabilities.java | 27 +++++
.../java/lsp/server/protocol/QuickOpen.java | 2 +-
.../modules/java/lsp/server/protocol/Server.java | 75 +++++++-------
.../java/lsp/server/protocol/SurroundWithHint.java | 2 +-
.../lsp/server/protocol/TestClassGenerator.java | 2 +-
.../server/protocol/TextDocumentServiceImpl.java | 20 ++--
.../lsp/server/protocol/WorkspaceServiceImpl.java | 24 ++---
.../ChangeMethodParametersRefactoring.java | 2 +-
.../ExtractSuperclassOrInterfaceRefactoring.java | 4 +-
.../lsp/server/refactoring/MoveRefactoring.java | 2 +-
.../lsp/server/refactoring/PullUpRefactoring.java | 2 +-
.../server/refactoring/PushDownRefactoring.java | 2 +-
.../java/lsp/server/protocol/ServerTest.java | 14 +--
java/java.lsp.server/vscode/package.json | 110 ++++++++++-----------
.../vscode/src/dbConfigurationProvider.ts | 4 +-
java/java.lsp.server/vscode/src/extension.ts | 83 ++++++++--------
.../vscode/src/launchConfigurations.ts | 7 +-
.../vscode/src/test/suite/extension.test.ts | 22 ++---
.../vscode/src/test/suite/testutils.ts | 6 +-
java/java.lsp.server/vscode/src/testAdapter.ts | 9 +-
.../java/openjdk/jtreg/CodeLensProviderImpl.java | 4 +-
27 files changed, 272 insertions(+), 200 deletions(-)
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java
index 08c637304a..958071f8cc 100644
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java
@@ -26,11 +26,13 @@ import java.io.IOException;
import java.io.StringWriter;
import java.net.MalformedURLException;
import java.net.URI;
+import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Set;
+import java.util.stream.Collectors;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import javax.lang.model.element.ExecutableElement;
@@ -53,6 +55,7 @@ import org.netbeans.api.editor.document.LineDocumentUtils;
import org.netbeans.api.java.source.CompilationInfo;
import org.netbeans.api.lsp.StructureElement;
import org.netbeans.modules.editor.java.Utilities;
+import org.netbeans.modules.java.lsp.server.protocol.NbCodeClientCapabilities;
import org.netbeans.modules.parsing.spi.indexing.support.QuerySupport;
import org.netbeans.spi.jumpto.type.SearchType;
import org.openide.cookies.EditorCookie;
@@ -67,6 +70,8 @@ import org.openide.util.Exceptions;
*/
public class Utils {
+ public static final String DEFAULT_COMMAND_PREFIX = "nbls";
+
public static SymbolKind structureElementKind2SymbolKind
(StructureElement.Kind kind) {
switch (kind) {
case Array : return SymbolKind.Array;
@@ -444,4 +449,38 @@ public class Utils {
return sb.toString();
}
+ public static String encodeCommand(String cmd, NbCodeClientCapabilities
capa) {
+ String prefix = capa != null ? capa.getCommandPrefix()
+ : DEFAULT_COMMAND_PREFIX;
+
+ if (cmd.startsWith(DEFAULT_COMMAND_PREFIX) &&
+ !DEFAULT_COMMAND_PREFIX.equals(prefix)) {
+ return prefix + cmd.substring(DEFAULT_COMMAND_PREFIX.length());
+ } else {
+ return cmd;
+ }
+ }
+
+ public static String decodeCommand(String cmd, NbCodeClientCapabilities
capa) {
+ String prefix = capa != null ? capa.getCommandPrefix()
+ : DEFAULT_COMMAND_PREFIX;
+
+ if (cmd.startsWith(prefix) &&
+ !DEFAULT_COMMAND_PREFIX.equals(prefix)) {
+ return DEFAULT_COMMAND_PREFIX + cmd.substring(prefix.length());
+ } else {
+ return cmd;
+ }
+ }
+
+ public static void ensureCommandsPrefixed(Collection<String> commands) {
+ Set<String> wrongCommands = commands.stream()
+ .filter(cmd ->
!cmd.startsWith(DEFAULT_COMMAND_PREFIX))
+ .filter(cmd ->
!cmd.startsWith("test."))
+ .collect(Collectors.toSet());
+
+ if (!wrongCommands.isEmpty()) {
+ throw new IllegalStateException("Some commands are not properly
prefixed: " + wrongCommands);
+ }
+ }
}
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java
index 4a2d69e2af..c23e4841e0 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java
@@ -75,7 +75,7 @@ import org.openide.util.lookup.ServiceProvider;
})
@ServiceProvider(service = CodeActionsProvider.class)
public class DBAddConnection extends CodeActionsProvider {
- public static final String DB_ADD_CONNECTION = "db.add.connection"; //
NOI18N
+ public static final String DB_ADD_CONNECTION = "nbls.db.add.connection";
// NOI18N
public static final String USER_ID = "userId"; // NOI18N
public static final String PASSWORD = "password"; // NOI18N
public static final String DRIVER = "driver"; // NOI18N
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java
index 9a75a82143..78220d8bba 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java
@@ -44,7 +44,7 @@ import org.openide.util.lookup.ServiceProvider;
*/
@ServiceProvider(service = CodeActionsProvider.class)
public class DBCommandProvider extends CodeActionsProvider {
- private static final String COMMAND_GET_PREFERRED_CONNECTION =
"java.db.preferred.connection";
+ private static final String COMMAND_GET_PREFERRED_CONNECTION =
"nbls.db.preferred.connection";
private static final Set<String> COMMANDS = new HashSet<>(Arrays.asList(
COMMAND_GET_PREFERRED_CONNECTION
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java
index 254404f0be..24725f7253 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java
@@ -41,7 +41,7 @@ import org.openide.util.lookup.ServiceProvider;
*/
@ServiceProvider(service = CodeActionsProvider.class)
public class DBConnectionProvider extends CodeActionsProvider{
- private static final String GET_DB_CONNECTION = "java.db.connection";
//NOI18N
+ private static final String GET_DB_CONNECTION = "nbls.db.connection";
//NOI18N
private static final Set<String> COMMANDS = new HashSet<>(Arrays.asList(
GET_DB_CONNECTION
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java
index 799fc21f98..f995f7506b 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java
@@ -369,7 +369,7 @@ public class WebView implements Closeable {
public static final class Server extends CodeActionsProvider {
private static final Map<String, WebView.Command> SESSIONS = new
HashMap<>();
- private static final String PROCESS_COMMAND =
"nb.htmlui.process.command"; // NOI18N
+ private static final String PROCESS_COMMAND =
"nbls.htmlui.process.command"; // NOI18N
private static final String ID = "id"; // NOI18N
private final Gson gson = new Gson();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java
index 44a87db68e..e8de930386 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java
@@ -47,7 +47,7 @@ import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service = CodeActionsProvider.class, position = 200)
public final class ImplementAllAbstractMethodsAction extends
CodeActionsProvider {
- private static final String IMPLEMENT_ALL_ABSTRACT_METHODS =
"java.implement.all.abstract.methods"; //NOI18N
+ private static final String IMPLEMENT_ALL_ABSTRACT_METHODS =
"nbls.java.implement.all.abstract.methods"; //NOI18N
private final Gson gson = new Gson();
@Override
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java
index 1e869eec38..32937d2818 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java
@@ -22,6 +22,7 @@ import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import org.eclipse.lsp4j.ClientCapabilities;
import org.eclipse.lsp4j.InitializeParams;
+import org.netbeans.modules.java.lsp.server.Utils;
/**
* Encapsulates all nbcode-specific client capabilities. Need to be passed in
@@ -75,6 +76,16 @@ public final class NbCodeClientCapabilities {
*/
private Boolean wantsGroovySupport = Boolean.TRUE;
+ /**
+ * Common prefix for all commands.
+ */
+ private String commandPrefix = Utils.DEFAULT_COMMAND_PREFIX;
+
+ /**
+ * Common prefix for all configuration.
+ */
+ private String configurationPrefix = "netbeans.";
+
public ClientCapabilities getClientCapabilities() {
return clientCaps;
}
@@ -139,6 +150,22 @@ public final class NbCodeClientCapabilities {
return wantsGroovySupport.booleanValue();
}
+ public String getCommandPrefix() {
+ return commandPrefix;
+ }
+
+ public void setCommandPrefix(String commandPrefix) {
+ this.commandPrefix = commandPrefix;
+ }
+
+ public String getConfigurationPrefix() {
+ return configurationPrefix;
+ }
+
+ public void setConfigurationPrefix(String configurationPrefix) {
+ this.configurationPrefix = configurationPrefix;
+ }
+
private NbCodeClientCapabilities withCapabilities(ClientCapabilities caps)
{
if (caps == null) {
caps = new ClientCapabilities();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java
index 69f7870af8..cb18d154c8 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java
@@ -61,7 +61,7 @@ import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service = CodeActionsProvider.class)
public class QuickOpen extends CodeActionsProvider {
- public static final String QUICK_OPEN = "java.quick.open"; // NOI18N
+ public static final String QUICK_OPEN = "nbls.quick.open"; // NOI18N
public static final String DEFAULT_PKG = "<default package>"; // NOI18N
private final Gson gson = new Gson();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
index 3cb748b10c..4aed330e6b 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
@@ -48,6 +48,7 @@ import com.google.gson.JsonObject;
import java.util.prefs.Preferences;
import java.util.LinkedHashSet;
import java.util.concurrent.CompletionException;
+import java.util.stream.Collectors;
import org.eclipse.lsp4j.CallHierarchyRegistrationOptions;
import org.eclipse.lsp4j.CodeActionKind;
import org.eclipse.lsp4j.CodeActionOptions;
@@ -348,8 +349,8 @@ public final class Server {
public static class LanguageServerImpl implements LanguageServer,
LanguageClientAware, LspServerState, NbLanguageServer {
- private static final String NETBEANS_FORMAT = "netbeans.format";
- private static final String NETBEANS_JAVA_IMPORTS =
"netbeans.java.imports";
+ private static final String NETBEANS_FORMAT = "format";
+ private static final String NETBEANS_JAVA_IMPORTS = "java.imports";
// change to a greater throughput if the initialization waits on more
processes than just (serialized) project open.
private static final RequestProcessor SERVER_INIT_RP = new
RequestProcessor(LanguageServerImpl.class.getName());
@@ -754,7 +755,7 @@ public final class Server {
}
}
- private InitializeResult constructInitResponse(InitializeParams init,
JavaSource src) {
+ private InitializeResult constructInitResponse(InitializeParams init,
JavaSource src, NbCodeClientCapabilities capa) {
ServerCapabilities capabilities = new ServerCapabilities();
if (src != null) {
TextDocumentSyncOptions textDocumentSyncOptions = new
TextDocumentSyncOptions();
@@ -782,31 +783,33 @@ public final class Server {
CallHierarchyRegistrationOptions chOpts = new
CallHierarchyRegistrationOptions();
chOpts.setWorkDoneProgress(true);
capabilities.setCallHierarchyProvider(chOpts);
- Set<String> commands = new
LinkedHashSet<>(Arrays.asList(GRAALVM_PAUSE_SCRIPT,
+ Set<String> commands = new
LinkedHashSet<>(Arrays.asList(NBLS_GRAALVM_PAUSE_SCRIPT,
NBLS_BUILD_WORKSPACE,
NBLS_CLEAN_WORKSPACE,
- JAVA_RUN_PROJECT_ACTION,
+ NBLS_RUN_PROJECT_ACTION,
JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS,
JAVA_FIND_DEBUG_PROCESS_TO_ATTACH,
- JAVA_FIND_PROJECT_CONFIGURATIONS,
+ NBLS_FIND_PROJECT_CONFIGURATIONS,
JAVA_GET_PROJECT_CLASSPATH,
JAVA_GET_PROJECT_PACKAGES,
JAVA_GET_PROJECT_SOURCE_ROOTS,
- JAVA_LOAD_WORKSPACE_TESTS,
- JAVA_RESOLVE_STACKTRACE_LOCATION,
- JAVA_NEW_FROM_TEMPLATE,
- JAVA_NEW_PROJECT,
- JAVA_PROJECT_CONFIGURATION_COMPLETION,
- JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS,
+ NBLS_LOAD_WORKSPACE_TESTS,
+ NBLS_RESOLVE_STACKTRACE_LOCATION,
+ NBLS_NEW_FROM_TEMPLATE,
+ NBLS_NEW_PROJECT,
+ NBLS_PROJECT_CONFIGURATION_COMPLETION,
+ NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS,
JAVA_SUPER_IMPLEMENTATION,
- JAVA_CLEAR_PROJECT_CACHES,
+ NBLS_CLEAR_PROJECT_CACHES,
NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH,
- JAVA_PROJECT_INFO,
+ NBLS_PROJECT_INFO,
JAVA_ENABLE_PREVIEW
));
for (CodeActionsProvider codeActionsProvider :
Lookup.getDefault().lookupAll(CodeActionsProvider.class)) {
commands.addAll(codeActionsProvider.getCommands());
}
+ Utils.ensureCommandsPrefixed(commands);
+ commands = commands.stream().map(cmd ->
Utils.encodeCommand(cmd, capa)).collect(Collectors.toSet());
capabilities.setExecuteCommandProvider(new
ExecuteCommandOptions(new ArrayList<>(commands)));
WorkspaceSymbolOptions wsOpts = new WorkspaceSymbolOptions();
wsOpts.setResolveProvider(true);
@@ -871,7 +874,7 @@ public final class Server {
// but complete the InitializationRequest independently of the
project initialization.
return CompletableFuture.completedFuture(
finishInitialization(
- constructInitResponse(init, checkJavaSupport())
+ constructInitResponse(init, checkJavaSupport(), capa)
)
);
}
@@ -882,13 +885,13 @@ public final class Server {
ConfigurationItem item = new ConfigurationItem();
FileObject fo = projects[0].getProjectDirectory();
item.setScopeUri(Utils.toUri(fo));
- item.setSection(NETBEANS_FORMAT);
+
item.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() +
NETBEANS_FORMAT);
client.configuration(new
ConfigurationParams(Collections.singletonList(item))).thenAccept(c -> {
if (c != null && !c.isEmpty() && c.get(0) instanceof
JsonObject) {
workspaceService.updateJavaFormatPreferences(fo,
(JsonObject) c.get(0));
}
});
- item.setSection(NETBEANS_JAVA_IMPORTS);
+
item.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() +
NETBEANS_JAVA_IMPORTS);
client.configuration(new
ConfigurationParams(Collections.singletonList(item))).thenAccept(c -> {
if (c != null && !c.isEmpty() && c.get(0) instanceof
JsonObject) {
workspaceService.updateJavaImportPreferences(fo,
(JsonObject) c.get(0));
@@ -972,59 +975,59 @@ public final class Server {
public static final String NBLS_BUILD_WORKSPACE = "nbls.build.workspace";
public static final String NBLS_CLEAN_WORKSPACE = "nbls.clean.workspace";
- public static final String JAVA_NEW_FROM_TEMPLATE =
"java.new.from.template";
- public static final String JAVA_NEW_PROJECT = "java.new.project";
- public static final String JAVA_GET_PROJECT_SOURCE_ROOTS =
"java.get.project.source.roots";
- public static final String JAVA_GET_PROJECT_CLASSPATH =
"java.get.project.classpath";
- public static final String JAVA_GET_PROJECT_PACKAGES =
"java.get.project.packages";
- public static final String JAVA_LOAD_WORKSPACE_TESTS =
"java.load.workspace.tests";
- public static final String JAVA_RESOLVE_STACKTRACE_LOCATION =
"java.resolve.stacktrace.location";
- public static final String JAVA_SUPER_IMPLEMENTATION =
"java.super.implementation";
- public static final String GRAALVM_PAUSE_SCRIPT = "graalvm.pause.script";
- public static final String JAVA_RUN_PROJECT_ACTION =
"java.project.run.action";
+ public static final String NBLS_NEW_FROM_TEMPLATE =
"nbls.new.from.template";
+ public static final String NBLS_NEW_PROJECT = "nbls.new.project";
+ public static final String JAVA_GET_PROJECT_SOURCE_ROOTS =
"nbls.java.get.project.source.roots";
+ public static final String JAVA_GET_PROJECT_CLASSPATH =
"nbls.java.get.project.classpath";
+ public static final String JAVA_GET_PROJECT_PACKAGES =
"nbls.java.get.project.packages";
+ public static final String NBLS_LOAD_WORKSPACE_TESTS =
"nbls.load.workspace.tests";
+ public static final String NBLS_RESOLVE_STACKTRACE_LOCATION =
"nbls.resolve.stacktrace.location";
+ public static final String JAVA_SUPER_IMPLEMENTATION =
"nbls.java.super.implementation";
+ public static final String NBLS_GRAALVM_PAUSE_SCRIPT =
"nbls.graalvm.pause.script";
+ public static final String NBLS_RUN_PROJECT_ACTION =
"nbls.project.run.action";
/**
* Enumerates project configurations.
*/
- public static final String JAVA_FIND_PROJECT_CONFIGURATIONS =
"java.project.configurations";
+ public static final String NBLS_FIND_PROJECT_CONFIGURATIONS =
"nbls.project.configurations";
/**
* Enumerates attach debugger configurations.
*/
- public static final String JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS =
"java.attachDebugger.configurations";
+ public static final String JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS =
"nbls.java.attachDebugger.configurations";
/**
* Enumerates JVM processes eligible for debugger attach.
*/
- public static final String JAVA_FIND_DEBUG_PROCESS_TO_ATTACH =
"java.attachDebugger.pickProcess";
+ public static final String JAVA_FIND_DEBUG_PROCESS_TO_ATTACH =
"nbls.java.attachDebugger.pickProcess";
/**
* Enumerates native processes eligible for debugger attach.
*/
- public static final String NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH =
"nativeImage.attachDebugger.pickProcess";
+ public static final String NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH =
"nbls.nativeImage.attachDebugger.pickProcess";
/**
* Provides code-completion of configurations.
*/
- public static final String JAVA_PROJECT_CONFIGURATION_COMPLETION =
"java.project.configuration.completion";
+ public static final String NBLS_PROJECT_CONFIGURATION_COMPLETION =
"nbls.project.configuration.completion";
/**
* Provides resolution of project problems.
*/
- public static final String JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS =
"java.project.resolveProjectProblems";
+ public static final String NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS =
"nbls.project.resolveProjectProblems";
/**
* Diagnostic / test command: clears NBLS internal project caches. Useful
between testcases and after
* new project files were generated into workspace subtree.
*/
- public static final String JAVA_CLEAR_PROJECT_CACHES =
"java.clear.project.caches";
+ public static final String NBLS_CLEAR_PROJECT_CACHES =
"nbls.clear.project.caches";
/**
* For a project directory, returns basic project information and
structure.
* Syntax: nbls.project.info(locations : String | String[], options? : {
projectStructure? : boolean; actions? : boolean; recursive? : boolean }) :
LspProjectInfo
*/
- public static final String JAVA_PROJECT_INFO = "nbls.project.info";
+ public static final String NBLS_PROJECT_INFO = "nbls.project.info";
/**
* Provides enable preview for given project
*/
- public static final String JAVA_ENABLE_PREVIEW =
"java.project.enable.preview";
+ public static final String JAVA_ENABLE_PREVIEW =
"nbls.java.project.enable.preview";
static final String INDEXING_COMPLETED = "Indexing completed.";
static final String NO_JAVA_SUPPORT = "Cannot initialize Java support on
JDK ";
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java
index c7bff0f383..3356483cc8 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java
@@ -80,7 +80,7 @@ import org.openide.util.lookup.ServiceProvider;
public final class SurroundWithHint extends CodeActionsProvider {
private static final String COMMAND_INSERT_SNIPPET =
"editor.action.insertSnippet";
- private static final String COMMAND_SURROUND_WITH = "java.surround.with";
+ private static final String COMMAND_SURROUND_WITH = "surround.with";
private static final String DOTS = "...";
private static final String SNIPPET = "snippet";
private static final String SELECTION_VAR = "${selection}";
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java
index 7a352e0787..e27d4c1932 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java
@@ -75,7 +75,7 @@ import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service = CodeActionsProvider.class, position = 100)
public final class TestClassGenerator extends CodeActionsProvider {
- private static final String GENERATE_TEST_CLASS_COMMAND =
"java.generate.testClass";
+ private static final String GENERATE_TEST_CLASS_COMMAND =
"nbls.java.generate.testClass";
private final Set<String> commands =
Collections.singleton(GENERATE_TEST_CLASS_COMMAND);
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
index ed00816ca4..e2ab5c4ac3 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
@@ -274,10 +274,10 @@ import org.openide.util.lookup.ServiceProvider;
public class TextDocumentServiceImpl implements TextDocumentService,
LanguageClientAware {
private static final Logger LOG =
Logger.getLogger(TextDocumentServiceImpl.class.getName());
- private static final String COMMAND_RUN_SINGLE = "java.run.single";
// NOI18N
- private static final String COMMAND_DEBUG_SINGLE = "java.debug.single";
// NOI18N
- private static final String NETBEANS_JAVADOC_LOAD_TIMEOUT =
"netbeans.javadoc.load.timeout";// NOI18N
- private static final String NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS =
"netbeans.java.onSave.organizeImports";// NOI18N
+ private static final String COMMAND_RUN_SINGLE = "nbls.run.single";
// NOI18N
+ private static final String COMMAND_DEBUG_SINGLE = "nbls.debug.single";
// NOI18N
+ private static final String NETBEANS_JAVADOC_LOAD_TIMEOUT =
"javadoc.load.timeout";// NOI18N
+ private static final String NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS =
"java.onSave.organizeImports";// NOI18N
private static final RequestProcessor BACKGROUND_TASKS = new
RequestProcessor(TextDocumentServiceImpl.class.getName(), 1, false, false);
private static final RequestProcessor WORKER = new
RequestProcessor(TextDocumentServiceImpl.class.getName(), 1, false, false);
@@ -351,7 +351,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
}
ConfigurationItem conf = new ConfigurationItem();
conf.setScopeUri(uri);
- conf.setSection(NETBEANS_JAVADOC_LOAD_TIMEOUT);
+
conf.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() +
NETBEANS_JAVADOC_LOAD_TIMEOUT);
return client.configuration(new
ConfigurationParams(Collections.singletonList(conf))).thenApply(c -> {
if (c != null && !c.isEmpty()) {
javadocTimeout.set(((JsonPrimitive)c.get(0)).getAsInt());
@@ -401,7 +401,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
}
org.netbeans.api.lsp.Command command =
completion.getCommand();
if (command != null) {
- item.setCommand(new Command(command.getTitle(),
command.getCommand(), command.getArguments()));
+ item.setCommand(new Command(command.getTitle(),
Utils.encodeCommand(command.getCommand(), client.getNbCodeCapabilities()),
command.getArguments()));
}
if (completion.getAdditionalTextEdits() != null &&
completion.getAdditionalTextEdits().isDone()) {
List<org.netbeans.api.lsp.TextEdit>
additionalTextEdits = completion.getAdditionalTextEdits().getNow(null);
@@ -964,7 +964,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
commandParams.addAll(inputAction.getCommand().getArguments());
}
- action.setCommand(new
Command(inputAction.getCommand().getTitle(),
inputAction.getCommand().getCommand(), commandParams));
+ action.setCommand(new
Command(inputAction.getCommand().getTitle(),
Utils.encodeCommand(inputAction.getCommand().getCommand(),
client.getNbCodeCapabilities()), commandParams));
}
if (inputAction.getEdit() != null) {
org.netbeans.api.lsp.WorkspaceEdit edit =
inputAction.getEdit();
@@ -1053,7 +1053,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
codeAction.setEdit(new WorkspaceEdit(documentChanges));
int renameOffset =
((IntroduceFixBase) fix).getNameOffset(changes);
if (renameOffset
>= 0) {
-
codeAction.setCommand(new Command("Rename", "java.rename.element.at",
Collections.singletonList(renameOffset)));
+
codeAction.setCommand(new Command("Rename",
client.getNbCodeCapabilities().getCommandPrefix() + ".rename.element.at",
Collections.singletonList(renameOffset)));
}
result.add(Either.forRight(codeAction));
}
@@ -1130,7 +1130,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
for (org.netbeans.api.lsp.CodeLens len : origin) {
Command cmd = null;
if (len.getCommand() != null) {
- cmd = new Command(len.getCommand().getTitle(),
len.getCommand().getCommand(), len.getCommand().getArguments());
+ cmd = new Command(len.getCommand().getTitle(),
Utils.encodeCommand(len.getCommand().getCommand(),
client.getNbCodeCapabilities()), len.getCommand().getArguments());
}
result.add(new CodeLens(callRange2Range(len.getRange(), doc), cmd,
len.getData()));
}
@@ -1647,7 +1647,7 @@ public class TextDocumentServiceImpl implements
TextDocumentService, LanguageCli
}
ConfigurationItem conf = new ConfigurationItem();
conf.setScopeUri(uri);
- conf.setSection(NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS);
+
conf.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() +
NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS);
return client.configuration(new
ConfigurationParams(Collections.singletonList(conf))).thenApply(c -> {
if (c != null && !c.isEmpty() && ((JsonPrimitive)
c.get(0)).getAsBoolean()) {
try {
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 def77b1d82..bccf4706da 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
@@ -167,15 +167,15 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
@Override
public CompletableFuture<Object> executeCommand(ExecuteCommandParams
params) {
- String command = params.getCommand();
+ String command = Utils.decodeCommand(params.getCommand(),
client.getNbCodeCapabilities());
switch (command) {
- case Server.GRAALVM_PAUSE_SCRIPT:
+ case Server.NBLS_GRAALVM_PAUSE_SCRIPT:
ActionsManager am =
DebuggerManager.getDebuggerManager().getCurrentEngine().getActionsManager();
am.doAction("pauseInGraalScript");
return CompletableFuture.completedFuture(true);
- case Server.JAVA_NEW_FROM_TEMPLATE:
+ case Server.NBLS_NEW_FROM_TEMPLATE:
return LspTemplateUI.createFromTemplate("Templates", client,
params);
- case Server.JAVA_NEW_PROJECT:
+ case Server.NBLS_NEW_PROJECT:
return LspTemplateUI.createProject("Templates/Project",
client, params);
case Server.NBLS_BUILD_WORKSPACE: {
final CommandProgress progressOfCompilation = new
CommandProgress();
@@ -189,7 +189,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
progressOfCompilation.checkStatus();
return progressOfCompilation.getFinishFuture();
}
- case Server.JAVA_RUN_PROJECT_ACTION: {
+ case Server.NBLS_RUN_PROJECT_ACTION: {
// TODO: maybe a structure would be better for future
compatibility / extensions, i.e. what to place in the action's context Lookup.
List<FileObject> targets = new ArrayList<>();
ProjectActionParams actionParams =
gson.fromJson(gson.toJson(params.getArguments().get(0)),
ProjectActionParams.class);
@@ -318,7 +318,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
return future;
});
}
- case Server.JAVA_LOAD_WORKSPACE_TESTS: {
+ case Server.NBLS_LOAD_WORKSPACE_TESTS: {
String uri = ((JsonPrimitive)
params.getArguments().get(0)).getAsString();
FileObject file;
try {
@@ -401,7 +401,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
return future;
});
}
- case Server.JAVA_RESOLVE_STACKTRACE_LOCATION: {
+ case Server.NBLS_RESOLVE_STACKTRACE_LOCATION: {
CompletableFuture<Object> future = new CompletableFuture<>();
try {
if (params.getArguments().size() >= 3) {
@@ -448,7 +448,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
String uri = ((JsonPrimitive)
params.getArguments().get(0)).getAsString();
Position pos =
gson.fromJson(gson.toJson(params.getArguments().get(1)), Position.class);
return
(CompletableFuture)((TextDocumentServiceImpl)server.getTextDocumentService()).superImplementations(uri,
pos);
- case Server.JAVA_FIND_PROJECT_CONFIGURATIONS: {
+ case Server.NBLS_FIND_PROJECT_CONFIGURATIONS: {
String fileUri = ((JsonPrimitive)
params.getArguments().get(0)).getAsString();
FileObject file;
@@ -470,7 +470,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
case Server.NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH: {
return AttachNativeConfigurations.findProcessAttachTo(client);
}
- case Server.JAVA_PROJECT_CONFIGURATION_COMPLETION: {
+ case Server.NBLS_PROJECT_CONFIGURATION_COMPLETION: {
// We expect one, two or three arguments.
// The first argument is always the URI of the launch.json
file.
// When not more arguments are provided, all available
configurations ought to be provided.
@@ -515,7 +515,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
.thenApply(avoid ->
completionFutures.stream().flatMap(c ->
c.join().stream()).collect(Collectors.toList()));
return (CompletableFuture<Object>) (CompletableFuture<?>)
joinedFuture;
}
- case Server.JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS: {
+ case Server.NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS: {
final CompletableFuture<Object> result = new
CompletableFuture<>();
List<Object> arguments = params.getArguments();
if (!arguments.isEmpty()) {
@@ -571,7 +571,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
}
return result;
}
- case Server.JAVA_CLEAR_PROJECT_CACHES: {
+ case Server.NBLS_CLEAR_PROJECT_CACHES: {
// politely clear project manager's cache of "no project"
answers
ProjectManager.getDefault().clearNonProjectCache();
// impolitely clean the project-based traversal's cache, so
any affiliation of intermediate folders will disappear
@@ -595,7 +595,7 @@ public final class WorkspaceServiceImpl implements
WorkspaceService, LanguageCli
return (CompletableFuture<Object>)
(CompletableFuture<?>)result;
}
- case Server.JAVA_PROJECT_INFO: {
+ case Server.NBLS_PROJECT_INFO: {
final CompletableFuture<Object> result = new
CompletableFuture<>();
List<Object> arguments = params.getArguments();
if (arguments.size() < 1) {
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
index 9d4dc2eb66..62e677595f 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java
@@ -78,7 +78,7 @@ import org.openide.util.lookup.ServiceProvider;
public final class ChangeMethodParametersRefactoring extends CodeRefactoring {
private static final String CHANGE_METHOD_PARAMS_REFACTORING_KIND =
"refactor.change.method.params";
- private static final String CHANGE_METHOD_PARAMS_REFACTORING_COMMAND =
"java.refactor.change.method.params";
+ private static final String CHANGE_METHOD_PARAMS_REFACTORING_COMMAND =
"nbls.java.refactor.change.method.params";
private final Set<String> commands =
Collections.singleton(CHANGE_METHOD_PARAMS_REFACTORING_COMMAND);
private final Gson gson = new Gson();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java
index 4303235dbd..c4771ceff6 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java
@@ -79,8 +79,8 @@ import org.openide.util.lookup.ServiceProvider;
@ServiceProvider(service = CodeActionsProvider.class, position = 170)
public final class ExtractSuperclassOrInterfaceRefactoring extends
CodeRefactoring {
- private static final String EXTRACT_SUPERCLASS_REFACTORING_COMMAND =
"java.refactor.extract.superclass";
- private static final String EXTRACT_INTERFACE_REFACTORING_COMMAND =
"java.refactor.extract.interface";
+ private static final String EXTRACT_SUPERCLASS_REFACTORING_COMMAND =
"nbls.java.refactor.extract.superclass";
+ private static final String EXTRACT_INTERFACE_REFACTORING_COMMAND =
"nbls.java.refactor.extract.interface";
private static final ClassPath EMPTY_PATH =
ClassPathSupport.createClassPath(new URL[0]);
private final Set<String> commands = Collections.unmodifiableSet(new
HashSet<>(Arrays.asList(EXTRACT_INTERFACE_REFACTORING_COMMAND,
EXTRACT_SUPERCLASS_REFACTORING_COMMAND)));
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java
index 2859acbd24..90a3d2c79f 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java
@@ -99,7 +99,7 @@ import org.openide.util.lookup.ServiceProvider;
public final class MoveRefactoring extends CodeRefactoring {
private static final String MOVE_REFACTORING_KIND = "refactor.move";
- private static final String MOVE_REFACTORING_COMMAND =
"java.refactor.move";
+ private static final String MOVE_REFACTORING_COMMAND =
"nbls.java.refactor.move";
private static final ClassPath EMPTY_PATH =
ClassPathSupport.createClassPath(new URL[0]);
private final Set<String> commands =
Collections.singleton(MOVE_REFACTORING_COMMAND);
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java
index a53afcf719..6706abafdc 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java
@@ -76,7 +76,7 @@ import org.openide.util.lookup.ServiceProvider;
public final class PullUpRefactoring extends CodeRefactoring {
private static final String PULL_UP_REFACTORING_KIND = "refactor.pull.up";
- private static final String PULL_UP_REFACTORING_COMMAND =
"java.refactor.pull.up";
+ private static final String PULL_UP_REFACTORING_COMMAND =
"nbls.java.refactor.pull.up";
private final Set<String> commands =
Collections.singleton(PULL_UP_REFACTORING_COMMAND);
private final Gson gson = new Gson();
diff --git
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java
index 6acfa1537e..6c052c536b 100644
---
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java
+++
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java
@@ -72,7 +72,7 @@ import org.openide.util.lookup.ServiceProvider;
public final class PushDownRefactoring extends CodeRefactoring {
private static final String PUSH_DOWN_REFACTORING_KIND =
"refactor.push.down";
- private static final String PUSH_DOWN_REFACTORING_COMMAND =
"java.refactor.push.down";
+ private static final String PUSH_DOWN_REFACTORING_COMMAND =
"nbls.java.refactor.push.down";
private final Set<String> commands =
Collections.singleton(PUSH_DOWN_REFACTORING_COMMAND);
private final Gson gson = new Gson();
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 ca25bce6c7..0d5b43c5a1 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
@@ -2527,7 +2527,7 @@ public class ServerTest extends NbTestCase {
fileChanges.get(3).getNewText());
Command command = introduceVariable.get().getCommand();
assertNotNull(command);
- assertEquals("java.rename.element.at", command.getCommand());
+ assertEquals("nbls.rename.element.at", command.getCommand());
List<Object> arguments = command.getArguments();
assertNotNull(arguments);
assertEquals(1, arguments.size());
@@ -2631,7 +2631,7 @@ public class ServerTest extends NbTestCase {
fileChanges.get(2).getNewText());
Command command = introduceConstant.get().getCommand();
assertNotNull(command);
- assertEquals("java.rename.element.at", command.getCommand());
+ assertEquals("nbls.rename.element.at", command.getCommand());
List<Object> arguments = command.getArguments();
assertNotNull(arguments);
assertEquals(1, arguments.size());
@@ -2735,7 +2735,7 @@ public class ServerTest extends NbTestCase {
fileChanges.get(2).getNewText());
Command command = introduceField.get().getCommand();
assertNotNull(command);
- assertEquals("java.rename.element.at", command.getCommand());
+ assertEquals("nbls.rename.element.at", command.getCommand());
List<Object> arguments = command.getArguments();
assertNotNull(arguments);
assertEquals(1, arguments.size());
@@ -2842,7 +2842,7 @@ public class ServerTest extends NbTestCase {
fileChanges.get(2).getNewText());
Command command = introduceMethod.get().getCommand();
assertNotNull(command);
- assertEquals("java.rename.element.at", command.getCommand());
+ assertEquals("nbls.rename.element.at", command.getCommand());
List<Object> arguments = command.getArguments();
assertNotNull(arguments);
assertEquals(1, arguments.size());
@@ -5387,7 +5387,7 @@ public class ServerTest extends NbTestCase {
@Override
public CompletableFuture<Object> processCommand(NbCodeLanguageClient
client, String command, List<Object> arguments) {
- if (!command.equals("_progressCommand")) {
+ if (!command.equals("test._progressCommand")) {
return null;
}
@@ -5422,7 +5422,7 @@ public class ServerTest extends NbTestCase {
@Override
public Set<String> getCommands() {
- return Collections.singleton("_progressCommand");
+ return Collections.singleton("test._progressCommand");
}
@@ -5492,7 +5492,7 @@ public class ServerTest extends NbTestCase {
// now invoke the build
ExecuteCommandParams ecp = new ExecuteCommandParams();
- ecp.setCommand("_progressCommand");
+ ecp.setCommand("test._progressCommand");
CompletableFuture<Object> buildF =
server.getWorkspaceService().executeCommand(ecp);
// the progress must be received at the client w/ the token, we need
the token to issue cancel
diff --git a/java/java.lsp.server/vscode/package.json
b/java/java.lsp.server/vscode/package.json
index 14d50031da..0ad9560aae 100644
--- a/java/java.lsp.server/vscode/package.json
+++ b/java/java.lsp.server/vscode/package.json
@@ -87,7 +87,7 @@
"viewsWelcome": [
{
"view": "database.connections",
- "contents": "No database connections
found.\n[Add Database Connection](command:db.add.connection)\n[Add Oracle
Autonomous
DB](command:nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddADBAction)",
+ "contents": "No database connections
found.\n[Add Database Connection](command:nbls.db.add.connection)\n[Add Oracle
Autonomous
DB](command:nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddADBAction)",
"when": "nb.database.view.active"
}
],
@@ -323,7 +323,7 @@
},
"processId": {
"type":
"string",
- "default":
"${command:java.attachDebugger.pickProcess}",
+ "default":
"${command:nbls.java.attachDebugger.pickProcess}",
"description":
"Process Id of the debuggee"
},
"listen": {
@@ -400,7 +400,7 @@
},
"processId": {
"type":
"string",
- "default":
"${command:nativeImage.attachDebugger.pickProcess}",
+ "default":
"${command:nbls.nativeImage.attachDebugger.pickProcess}",
"description":
"Process Id of the native image"
},
"miDebugger": {
@@ -437,7 +437,7 @@
"type": "nativeimage",
"request": "attach",
"name": "Attach to
Native Image",
- "processId":
"^\"\\${command:nativeImage.attachDebugger.pickProcess\\}\"",
+ "processId":
"^\"\\${command:nbls.nativeImage.attachDebugger.pickProcess\\}\"",
"nativeImagePath": ""
}
}
@@ -456,38 +456,38 @@
"category": "Java"
},
{
- "command": "java.workspace.new",
+ "command": "nbls.workspace.new",
"title": "New from Template...",
"category": "Java",
"icon": "$(new-file)"
},
{
- "command": "java.workspace.newproject",
+ "command": "nbls.workspace.newproject",
"title": "New Project...",
"category": "Java",
"icon": "$(new-folder)"
},
{
- "command": "java.goto.super.implementation",
+ "command":
"nbls.java.goto.super.implementation",
"title": "Go to Super Implementation",
"category": "Java"
},
{
- "command": "java.open.type",
+ "command": "nbls.open.type",
"title": "Open Type...",
"category": "Java"
},
{
- "command": "graalvm.pause.script",
+ "command": "nbls.graalvm.pause.script",
"title": "Pause in Script",
"category": "GraalVM"
},
{
- "command": "foundProjects.deleteEntry",
+ "command": "nbls.foundProjects.deleteEntry",
"title": "Delete"
},
{
- "command": "db.add.connection",
+ "command": "nbls.db.add.connection",
"title": "Add Database Connection",
"category": "Database",
"icon": "$(add)"
@@ -529,57 +529,42 @@
"title": "Delete"
},
{
- "command": "workbench.action.debug.run",
- "title": "Run Without Debugging",
- "icon": "$(run)"
- },
- {
- "command": "workbench.action.debug.start",
- "title": "Start Debugging",
- "icon": "$(debug-alt)"
- },
- {
- "command": "java.project.run",
+ "command": "nbls.project.run",
"category": "Project",
"title": "Run Project Without Debugging",
"icon": "$(run)"
},
{
- "command": "java.project.debug",
+ "command": "nbls.project.debug",
"category": "Project",
"title": "Debug Project",
"icon": "$(debug-alt)"
},
{
- "command": "java.project.test",
+ "command": "nbls.project.test",
"category": "Project",
"title": "Test Project",
"icon": "$(testing-run-all-icon)"
},
{
- "command": "java.project.compile",
+ "command": "nbls.project.compile",
"category": "Project",
"title": "Compile Project"
},
{
- "command": "java.project.clean",
+ "command": "nbls.project.clean",
"category": "Project",
"title": "Clean Project"
},
{
- "command":
"java.local.db.set.preferred.connection",
+ "command":
"nbls.local.db.set.preferred.connection",
"title": "Set as Default Connection"
},
{
- "command":
"java.workspace.configureRunSettings",
+ "command":
"nbls.workspace.configureRunSettings",
"title": "Edit",
"icon": "$(edit)"
},
- {
- "command": "testing.runAll",
- "title": "Run All Tests",
- "category": "Test"
- },
{
"command":
"nbls:Tools:org.netbeans.modules.cloud.oracle.actions.DownloadWalletAction",
"title": "Add DB Connection"
@@ -597,9 +582,24 @@
"title": "Open Service Console"
},
{
- "command": "java.select.editor.projects",
+ "command": "nbls.select.editor.projects",
"title": "Reveal active editor in Projects",
"category": "Project"
+ },
+ {
+ "command": "workbench.action.debug.run",
+ "title": "Run Without Debugging",
+ "icon": "$(run)"
+ },
+ {
+ "command": "workbench.action.debug.start",
+ "title": "Start Debugging",
+ "icon": "$(debug-alt)"
+ },
+ {
+ "command": "testing.runAll",
+ "title": "Run All Tests",
+ "category": "Test"
}
],
"keybindings": [
@@ -609,7 +609,7 @@
"when": "nbJavaLSReady &&
config.netbeans.javaSupport.enabled"
},
{
- "command": "java.goto.super.implementation",
+ "command":
"nbls.java.goto.super.implementation",
"key": "alt+U",
"mac": "alt+cmd+U",
"when": "editorHasCodeActionsProvider &&
editorTextFocus && config.netbeans.javaSupport.enabled"
@@ -624,25 +624,25 @@
"menus": {
"editor/context": [
{
- "command":
"java.goto.super.implementation",
+ "command":
"nbls.java.goto.super.implementation",
"when": "nbJavaLSReady && editorLangId
== java && editorTextFocus && config.netbeans.javaSupport.enabled",
"group": "navigation@100"
}
],
"explorer/context": [
{
- "command": "java.workspace.new",
+ "command": "nbls.workspace.new",
"when": "nbJavaLSReady &&
explorerResourceIsFolder",
"group": "navigation@3"
}
],
"commandPalette": [
{
- "command": "java.workspace.new",
+ "command": "nbls.workspace.new",
"when": "nbJavaLSReady"
},
{
- "command": "java.workspace.newproject",
+ "command": "nbls.workspace.newproject",
"when":
"config.netbeans.javaSupport.enabled"
},
{
@@ -650,15 +650,15 @@
"when": "nbJavaLSReady &&
config.netbeans.javaSupport.enabled"
},
{
- "command":
"java.goto.super.implementation",
+ "command":
"nbls.java.goto.super.implementation",
"when": "nbJavaLSReady && editorLangId
== java && config.netbeans.javaSupport.enabled"
},
{
- "command": "graalvm.pause.script",
+ "command": "nbls.graalvm.pause.script",
"when": "nbJavaLSReady"
},
{
- "command": "foundProjects.deleteEntry",
+ "command":
"nbls.foundProjects.deleteEntry",
"when": "false"
},
{
@@ -694,7 +694,7 @@
"when": "false"
},
{
- "command":
"java.local.db.set.preferred.connection",
+ "command":
"nbls.local.db.set.preferred.connection",
"when": "false"
},
{
@@ -710,13 +710,13 @@
"when": "false"
},
{
- "command":
"java.workspace.configureRunSettings",
+ "command":
"nbls.workspace.configureRunSettings",
"when": "false"
}
],
"view/title": [
{
- "command": "java.workspace.newproject",
+ "command": "nbls.workspace.newproject",
"when": "nbJavaLSReady && view ==
foundProjects && config.netbeans.javaSupport.enabled",
"group": "navigation"
},
@@ -741,14 +741,14 @@
"when": "nbJavaLSReady && view ==
foundProjects && config.netbeans.javaSupport.enabled"
},
{
- "command": "db.add.connection",
+ "command": "nbls.db.add.connection",
"when": "view == database.connections",
"group": "navigation@3"
}
],
"view/item/context": [
{
- "command": "foundProjects.deleteEntry",
+ "command":
"nbls.foundProjects.deleteEntry",
"when": "view == foundProjects &&
viewItem == node && config.netbeans.javaSupport.enabled"
},
{
@@ -772,37 +772,37 @@
"group": "db@50"
},
{
- "command": "java.workspace.new",
+ "command": "nbls.workspace.new",
"when": "view == foundProjects &&
viewItem =~ /is:folder/",
"group": "inline@1"
},
{
- "command": "java.project.run",
+ "command": "nbls.project.run",
"when": "view == foundProjects &&
viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ &&
config.netbeans.javaSupport.enabled",
"group": "inline@10"
},
{
- "command": "java.project.debug",
+ "command": "nbls.project.debug",
"when": "view == foundProjects &&
viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ &&
config.netbeans.javaSupport.enabled",
"group": "inline@11"
},
{
- "command": "java.project.test",
+ "command": "nbls.project.test",
"when": "view == foundProjects &&
viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ &&
config.netbeans.javaSupport.enabled",
"group": "F@30"
},
{
- "command": "java.project.compile",
+ "command": "nbls.project.compile",
"when": "view == foundProjects &&
viewItem =~ /is:project/ && config.netbeans.javaSupport.enabled",
"group": "F@10"
},
{
- "command": "java.project.clean",
+ "command": "nbls.project.clean",
"when": "view == foundProjects &&
viewItem =~ /is:project/ && config.netbeans.javaSupport.enabled",
"group": "F@20"
},
{
- "command":
"java.local.db.set.preferred.connection",
+ "command":
"nbls.local.db.set.preferred.connection",
"when": "viewItem =~
/class:org.netbeans.api.db.explorer.DatabaseConnection/",
"group": "db@40"
},
@@ -839,7 +839,7 @@
"group": "inline@13"
},
{
- "command":
"java.workspace.configureRunSettings",
+ "command":
"nbls.workspace.configureRunSettings",
"when": "view == run-config && viewItem
== configureRunSettings",
"group": "inline@1"
}
diff --git a/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts
b/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts
index 79b094fe69..1d5136a1a8 100644
--- a/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts
+++ b/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts
@@ -44,7 +44,7 @@ export class DBConfigurationProvider implements
vscode.DebugConfigurationProvide
resolveDebugConfigurationWithSubstitutedVariables?(_folder:
vscode.WorkspaceFolder | undefined, config: vscode.DebugConfiguration, _token?:
vscode.CancellationToken): vscode.ProviderResult<vscode.DebugConfiguration> {
return new Promise<vscode.DebugConfiguration>(async resolve => {
- let o: Object = await
vscode.commands.executeCommand('java.db.connection');
+ let o: Object = await
vscode.commands.executeCommand('nbls.db.connection');
if (config === undefined) {
config = {} as vscode.DebugConfiguration;
}
@@ -58,4 +58,4 @@ export class DBConfigurationProvider implements
vscode.DebugConfigurationProvide
resolve(config);
});
}
-}
\ No newline at end of file
+}
diff --git a/java/java.lsp.server/vscode/src/extension.ts
b/java/java.lsp.server/vscode/src/extension.ts
index ac65bff14f..841b3e100f 100644
--- a/java/java.lsp.server/vscode/src/extension.ts
+++ b/java/java.lsp.server/vscode/src/extension.ts
@@ -59,6 +59,7 @@ import { InputStep, MultiStepInput } from './utils';
import { env } from 'process';
const API_VERSION : string = "1.0";
+export const COMMAND_PREFIX : string = "nbls";
const DATABASE: string = 'Database';
let client: Promise<NbLanguageClient>;
let testAdapter: NbTestAdapter | undefined;
@@ -258,7 +259,7 @@ function wrapProjectActionWithProgress(action : string,
configuration : string |
items.push(item);
}
}
- return wrapCommandWithProgress('java.project.run.action', title, log,
showOutput, actionParams, ...items);
+ return wrapCommandWithProgress(COMMAND_PREFIX + '.project.run.action',
title, log, showOutput, actionParams, ...items);
}
function wrapCommandWithProgress(lsCommand : string, title : string, log? :
vscode.OutputChannel, showOutput? : boolean, ...args : any[]) :
Thenable<unknown> {
@@ -417,7 +418,7 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
context.subscriptions.push(vscode.debug.registerDebugConfigurationProvider('java+',
runConfigurationProvider));
context.subscriptions.push(vscode.debug.registerDebugConfigurationProvider('java',
runConfigurationProvider));
context.subscriptions.push(vscode.window.registerTreeDataProvider('run-config',
runConfigurationNodeProvider));
-
context.subscriptions.push(vscode.commands.registerCommand('java.workspace.configureRunSettings',
(...params: any[]) => {
+
context.subscriptions.push(vscode.commands.registerCommand(COMMAND_PREFIX +
'.workspace.configureRunSettings', (...params: any[]) => {
configureRunSettings(context, params);
}));
vscode.commands.executeCommand('setContext',
'runConfigurationInitialized', true);
@@ -425,12 +426,12 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
});
// register commands
- context.subscriptions.push(commands.registerCommand('java.workspace.new',
async (ctx) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.workspace.new', async (ctx) => {
let c : LanguageClient = await client;
const commands = await vscode.commands.getCommands();
- if (commands.includes('java.new.from.template')) {
+ if (commands.includes(COMMAND_PREFIX + '.new.from.template')) {
// first give the context, then the open-file hint in the case the
context is not specific enough
- const res = await
vscode.commands.executeCommand('java.new.from.template',
contextUri(ctx)?.toString(),
vscode.window.activeTextEditor?.document?.uri?.toString());
+ const res = await vscode.commands.executeCommand(COMMAND_PREFIX +
'.new.from.template', contextUri(ctx)?.toString(),
vscode.window.activeTextEditor?.document?.uri?.toString());
if (typeof res === 'string') {
let newFile = vscode.Uri.parse(res as string);
@@ -447,11 +448,11 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
throw `Client ${c} doesn't support new from template`;
}
}));
-
context.subscriptions.push(commands.registerCommand('java.workspace.newproject',
async (ctx) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.workspace.newproject', async (ctx) => {
let c : LanguageClient = await client;
const commands = await vscode.commands.getCommands();
- if (commands.includes('java.new.project')) {
- const res = await
vscode.commands.executeCommand('java.new.project', contextUri(ctx)?.toString());
+ if (commands.includes(COMMAND_PREFIX + '.new.project')) {
+ const res = await vscode.commands.executeCommand(COMMAND_PREFIX +
'.new.project', contextUri(ctx)?.toString());
if (typeof res === 'string') {
let newProject = vscode.Uri.parse(res as string);
@@ -469,35 +470,35 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
throw `Client ${c} doesn't support new project`;
}
}));
-
context.subscriptions.push(commands.registerCommand('nbls.workspace.compile',
() =>
- wrapCommandWithProgress('nbls.build.workspace', 'Compiling
workspace...', log, true)
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.workspace.compile', () =>
+ wrapCommandWithProgress(COMMAND_PREFIX + '.build.workspace',
'Compiling workspace...', log, true)
));
-
context.subscriptions.push(commands.registerCommand('nbls.workspace.clean', ()
=>
- wrapCommandWithProgress('nbls.clean.workspace', 'Cleaning
workspace...', log, true)
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.workspace.clean', () =>
+ wrapCommandWithProgress(COMMAND_PREFIX + '.clean.workspace', 'Cleaning
workspace...', log, true)
));
-
context.subscriptions.push(commands.registerCommand('java.project.compile',
(args) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.project.compile', (args) => {
wrapProjectActionWithProgress('build', undefined, 'Compiling...', log,
true, args);
}));
- context.subscriptions.push(commands.registerCommand('java.project.clean',
(args) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.project.clean', (args) => {
wrapProjectActionWithProgress('clean', undefined, 'Cleaning...', log,
true, args);
}));
- context.subscriptions.push(commands.registerCommand('java.open.type', ()
=> {
- wrapCommandWithProgress('java.quick.open', 'Opening type...', log,
true).then(() => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.open.type', () => {
+ wrapCommandWithProgress(COMMAND_PREFIX + '.quick.open', 'Opening
type...', log, true).then(() => {
commands.executeCommand('workbench.action.focusActiveEditorGroup');
});
}));
-
context.subscriptions.push(commands.registerCommand('java.goto.super.implementation',
async () => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.java.goto.super.implementation', async () => {
if (window.activeTextEditor?.document.languageId !== "java") {
return;
}
const uri = window.activeTextEditor.document.uri;
const position = window.activeTextEditor.selection.active;
- const locations: any[] = await
vscode.commands.executeCommand('java.super.implementation', uri.toString(),
position) || [];
+ const locations: any[] = await
vscode.commands.executeCommand(COMMAND_PREFIX + '.java.super.implementation',
uri.toString(), position) || [];
return vscode.commands.executeCommand('editor.action.goToLocations',
window.activeTextEditor.document.uri, position,
locations.map(location => new
vscode.Location(vscode.Uri.parse(location.uri), new
vscode.Range(location.range.start.line, location.range.start.character,
location.range.end.line, location.range.end.character))),
'peek', 'No super implementation found');
}));
-
context.subscriptions.push(commands.registerCommand('java.rename.element.at',
async (offset) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.rename.element.at', async (offset) => {
const editor = window.activeTextEditor;
if (editor) {
await commands.executeCommand('editor.action.rename', [
@@ -506,7 +507,7 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
]);
}
}));
- context.subscriptions.push(commands.registerCommand('java.surround.with',
async (items) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.surround.with', async (items) => {
const selected: any = await window.showQuickPick(items, { placeHolder:
'Surround with ...' });
if (selected) {
if (selected.userData.edit && selected.userData.edit.changes) {
@@ -576,32 +577,32 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
}) : ret;
}
};
- context.subscriptions.push(commands.registerCommand('java.run.test', async
(uri, methodName?, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.run.test', async (uri, methodName?, launchConfiguration?) => {
await runDebug(true, true, uri, methodName, launchConfiguration);
}));
- context.subscriptions.push(commands.registerCommand('java.debug.test',
async (uri, methodName?, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.debug.test', async (uri, methodName?, launchConfiguration?) => {
await runDebug(false, true, uri, methodName, launchConfiguration);
}));
- context.subscriptions.push(commands.registerCommand('java.run.single',
async (uri, methodName?, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.run.single', async (uri, methodName?, launchConfiguration?) => {
await runDebug(true, false, uri, methodName, launchConfiguration);
}));
- context.subscriptions.push(commands.registerCommand('java.debug.single',
async (uri, methodName?, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.debug.single', async (uri, methodName?, launchConfiguration?) => {
await runDebug(false, false, uri, methodName, launchConfiguration);
}));
- context.subscriptions.push(commands.registerCommand('java.project.run',
async (node, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.project.run', async (node, launchConfiguration?) => {
return runDebug(true, false, contextUri(node)?.toString() || '',
undefined, launchConfiguration, true);
}));
- context.subscriptions.push(commands.registerCommand('java.project.debug',
async (node, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.project.debug', async (node, launchConfiguration?) => {
return runDebug(false, false, contextUri(node)?.toString() || '',
undefined, launchConfiguration, true);
}));
- context.subscriptions.push(commands.registerCommand('java.project.test',
async (node, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.project.test', async (node, launchConfiguration?) => {
return runDebug(true, true, contextUri(node)?.toString() || '',
undefined, launchConfiguration, true);
}));
- context.subscriptions.push(commands.registerCommand('java.package.test',
async (uri, launchConfiguration?) => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.package.test', async (uri, launchConfiguration?) => {
await runDebug(true, true, uri, undefined, launchConfiguration);
}));
-
context.subscriptions.push(commands.registerCommand('java.open.stacktrace',
async (uri, methodName, fileName, line) => {
- const location: string | undefined = uri ? await
commands.executeCommand('java.resolve.stacktrace.location', uri, methodName,
fileName) : undefined;
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.open.stacktrace', async (uri, methodName, fileName, line) => {
+ const location: string | undefined = uri ? await
commands.executeCommand(COMMAND_PREFIX + '.resolve.stacktrace.location', uri,
methodName, fileName) : undefined;
if (location) {
const lNum = line - 1;
window.showTextDocument(vscode.Uri.parse(location), { selection:
new vscode.Range(new vscode.Position(lNum, 0), new vscode.Position(lNum, 0)) });
@@ -612,14 +613,14 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
}
}
}));
-
context.subscriptions.push(commands.registerCommand('java.complete.abstract.methods',
async () => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.java.complete.abstract.methods', async () => {
const active = vscode.window.activeTextEditor;
if (active) {
const position = new vscode.Position(active.selection.start.line,
active.selection.start.character);
- await
commands.executeCommand('java.implement.all.abstract.methods',
active.document.uri.toString(), position);
+ await commands.executeCommand(COMMAND_PREFIX +
'.java.implement.all.abstract.methods', active.document.uri.toString(),
position);
}
}));
-
context.subscriptions.push(commands.registerCommand('nbls.startup.condition',
async () => {
+ context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX +
'.startup.condition', async () => {
return client;
}));
@@ -1085,7 +1086,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
constructor(provider : CustomizableTreeDataProvider<Visualizer>,
client : NbLanguageClient) {
this.provider = provider;
- this.setCommand =
vscode.commands.registerCommand('java.local.db.set.preferred.connection', (n)
=> this.setPreferred(n));
+ this.setCommand = vscode.commands.registerCommand(COMMAND_PREFIX +
'.local.db.set.preferred.connection', (n) => this.setPreferred(n));
}
decorateChildren(element: Visualizer, children: Visualizer[]):
Visualizer[] {
@@ -1099,7 +1100,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
if (!(item.contextValue &&
item.contextValue.match(/class:org.netbeans.api.db.explorer.DatabaseConnection/)))
{
return item;
}
- return
vscode.commands.executeCommand('java.db.preferred.connection').then((id) => {
+ return vscode.commands.executeCommand(COMMAND_PREFIX +
'.db.preferred.connection').then((id) => {
if (id == vis.id) {
item.description = '(default)';
}
@@ -1109,7 +1110,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
setPreferred(...args : any[]) {
const id : number = args[0]?.id || -1;
-
vscode.commands.executeCommand('nbls:Database:netbeans.db.explorer.action.makepreferred',
...args);
+ vscode.commands.executeCommand(COMMAND_PREFIX +
':Database:netbeans.db.explorer.action.makepreferred', ...args);
// refresh all
this.provider.fireItemChange();
}
@@ -1155,7 +1156,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
revealActiveEditor(ed);
}
}));
-
ctx.subscriptions.push(vscode.commands.registerCommand("java.select.editor.projects",
() => revealActiveEditor()));
+ ctx.subscriptions.push(vscode.commands.registerCommand(COMMAND_PREFIX
+ ".select.editor.projects", () => revealActiveEditor()));
// attempt to reveal NOW:
if (netbeansConfig.get("revealActiveInProjects")) {
@@ -1195,7 +1196,7 @@ function doActivateWithJDK(specifiedJDK: string | null,
context: ExtensionContex
view.dispose();
break;
case 'command':
-
vscode.commands.executeCommand('nb.htmlui.process.command', message.data);
+ vscode.commands.executeCommand(COMMAND_PREFIX +
'.htmlui.process.command', message.data);
break;
}
});
@@ -1355,7 +1356,7 @@ class NetBeansConfigurationInitialProvider implements
vscode.DebugConfigurationP
u = vscode.window.activeTextEditor?.document?.uri
}
let result : vscode.DebugConfiguration[] = [];
- const configNames : string[] | null | undefined = await
vscode.commands.executeCommand('java.project.configurations', u?.toString());
+ const configNames : string[] | null | undefined = await
vscode.commands.executeCommand(COMMAND_PREFIX + '.project.configurations',
u?.toString());
if (configNames) {
let first : boolean = true;
for (let cn of configNames) {
@@ -1400,7 +1401,7 @@ class NetBeansConfigurationDynamicProvider implements
vscode.DebugConfigurationP
return [];
}
let result : vscode.DebugConfiguration[] = [];
- const attachConnectors : DebugConnector[] | null | undefined = await
vscode.commands.executeCommand('java.attachDebugger.configurations');
+ const attachConnectors : DebugConnector[] | null | undefined = await
vscode.commands.executeCommand(COMMAND_PREFIX +
'.java.attachDebugger.configurations');
if (attachConnectors) {
for (let ac of attachConnectors) {
const debugConfig : vscode.DebugConfiguration = {
@@ -1412,7 +1413,7 @@ class NetBeansConfigurationDynamicProvider implements
vscode.DebugConfigurationP
let defaultValue: string = ac.defaultValues[i];
if (!defaultValue.startsWith("${command:")) {
// Create a command that asks for the argument value:
- let cmd: string = "java.attachDebugger.connector." +
ac.id + "." + ac.arguments[i];
+ let cmd: string = COMMAND_PREFIX +
".java.attachDebugger.connector." + ac.id + "." + ac.arguments[i];
debugConfig[ac.arguments[i]] = "${command:" + cmd +
"}";
if (!commandValues.has(cmd)) {
commandValues.set(cmd, ac.defaultValues[i]);
diff --git a/java/java.lsp.server/vscode/src/launchConfigurations.ts
b/java/java.lsp.server/vscode/src/launchConfigurations.ts
index f5f13ee9c7..ef53dc4fbf 100644
--- a/java/java.lsp.server/vscode/src/launchConfigurations.ts
+++ b/java/java.lsp.server/vscode/src/launchConfigurations.ts
@@ -22,6 +22,7 @@ import { commands, CompletionItem, CompletionList,
ExtensionContext, languages,
import { InsertTextFormat } from 'vscode-languageclient';
import * as jsoncp from 'jsonc-parser';
import * as fs from 'fs';
+import { COMMAND_PREFIX } from "./extension";
export function updateLaunchConfig() {
workspace.findFiles('.vscode/launch.json').then(async files => {
@@ -83,7 +84,7 @@ export function registerCompletion(context: ExtensionContext)
{
let completionItems:
ProviderResult<CompletionList<CompletionItem>> | CompletionItem[];
if (path.length == 1) {
// Get all configurations:
- completionItems =
commands.executeCommand('java.project.configuration.completion', uri);
+ completionItems =
commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion',
uri);
} else {
let node: jsoncp.Node = currentNode;
if (currentNode.type == 'property' &&
currentNode.parent) {
@@ -94,11 +95,11 @@ export function registerCompletion(context:
ExtensionContext) {
node = currentNode.parent;
let attributesMap = getAttributes(node);
// Get possible values of property 'propName':
- completionItems =
commands.executeCommand('java.project.configuration.completion', uri,
attributesMap, propName);
+ completionItems =
commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion',
uri, attributesMap, propName);
} else {
let attributesMap = getAttributes(node);
// Get additional possible attributes:
- completionItems =
commands.executeCommand('java.project.configuration.completion', uri,
attributesMap);
+ completionItems =
commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion',
uri, attributesMap);
}
}
return (completionItems as
Thenable<CompletionList<CompletionItem>>).then(itemsList => {
diff --git a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts
b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts
index 01aec1c16e..d398e2d2dd 100644
--- a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts
+++ b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts
@@ -94,7 +94,7 @@ suite('Extension Test Suite', () => {
try {
console.log("Test: invoking compile");
- let res = await
vscode.commands.executeCommand("nbls.workspace.compile");
+ let res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".workspace.compile");
console.log(`Test: compile finished with ${res}`);
} catch (error) {
dumpJava();
@@ -184,7 +184,7 @@ suite('Extension Test Suite', () => {
try {
console.log("Test: get project java source roots");
- let res: any = await
vscode.commands.executeCommand("java.get.project.source.roots",
Uri.file(folder).toString());
+ let res: any = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.source.roots", Uri.file(folder).toString());
console.log(`Test: get project java source roots finished with
${res}`);
assert.ok(res, "No java source root returned");
assert.strictEqual(res.length, 2, `Invalid number of java roots
returned`);
@@ -192,21 +192,21 @@ suite('Extension Test Suite', () => {
assert.strictEqual(res[1], path.join('file:', folder, 'src',
'test', 'java') + path.sep, `Invalid java test source root returned`);
console.log("Test: get project resource roots");
- res = await
vscode.commands.executeCommand("java.get.project.source.roots",
Uri.file(folder).toString(), 'resources');
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.source.roots", Uri.file(folder).toString(), 'resources');
console.log(`Test: get project resource roots finished with
${res}`);
assert.ok(res, "No resource root returned");
assert.strictEqual(res.length, 1, `Invalid number of resource
roots returned`);
assert.strictEqual(res[0], path.join('file:', folder, 'src',
'main', 'resources') + path.sep, `Invalid resource root returned`);
console.log("Test: get project compile classpath");
- res = await
vscode.commands.executeCommand("java.get.project.classpath",
Uri.file(folder).toString());
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.classpath", Uri.file(folder).toString());
console.log(`Test: get project compile classpath finished with
${res}`);
assert.ok(res, "No compile classpath returned");
assert.strictEqual(res.length, 9, `Invalid number of compile
classpath roots returned`);
assert.ok(res.find((item: any) => item === path.join('file:',
folder, 'target', 'classes') + path.sep, `Invalid compile classpath root
returned`));
console.log("Test: get project source classpath");
- res = await
vscode.commands.executeCommand("java.get.project.classpath",
Uri.file(folder).toString(), 'SOURCE');
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.classpath", Uri.file(folder).toString(), 'SOURCE');
console.log(`Test: get project source classpath finished with
${res}`);
assert.ok(res, "No source classpath returned");
assert.strictEqual(res.length, 3, `Invalid number of source
classpath roots returned`);
@@ -215,25 +215,25 @@ suite('Extension Test Suite', () => {
assert.ok(res.find((item: any) => item === path.join('file:',
folder, 'src', 'test', 'java') + path.sep, `Invalid source classpath root
returned`));
console.log("Test: get project boot classpath");
- res = await
vscode.commands.executeCommand("java.get.project.classpath",
Uri.file(folder).toString(), 'BOOT');
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.classpath", Uri.file(folder).toString(), 'BOOT');
console.log(`Test: get project boot classpath finished with
${res}`);
assert.ok(res, "No boot classpath returned");
assert.ok(res.length > 0, `Invalid number of boot classpath roots
returned`);
console.log("Test: get project boot source classpath");
- res = await
vscode.commands.executeCommand("java.get.project.classpath",
Uri.file(folder).toString(), 'BOOT', true);
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.classpath", Uri.file(folder).toString(), 'BOOT', true);
console.log(`Test: get project boot source classpath finished with
${res}`);
assert.ok(res, "No boot source classpath returned");
assert.ok(res.length > 0, `Invalid number of boot source classpath
roots returned`);
console.log("Test: get all project packages");
- res = await
vscode.commands.executeCommand("java.get.project.packages",
Uri.file(folder).toString());
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.packages", Uri.file(folder).toString());
console.log(`Test: get all project packages finished with ${res}`);
assert.ok(res, "No packages returned");
assert.ok(res.length > 0, `Invalid number of packages returned`);
console.log("Test: get project source packages");
- res = await
vscode.commands.executeCommand("java.get.project.packages",
Uri.file(folder).toString(), true);
+ res = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.packages", Uri.file(folder).toString(), true);
console.log(`Test: get project source packages finished with
${res}`);
assert.ok(res, "No packages returned");
assert.strictEqual(res.length, 1, `Invalid number of packages
returned`);
@@ -253,7 +253,7 @@ suite('Extension Test Suite', () => {
vscode.workspace.saveAll();
try {
console.log("Test: load workspace tests");
- let tests: any = await
vscode.commands.executeCommand("java.load.workspace.tests",
Uri.file(folder).toString());
+ let tests: any = await
vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".load.workspace.tests", Uri.file(folder).toString());
console.log(`Test: load workspace tests finished with ${tests}`);
assert.ok(tests, "No tests returned for workspace");
assert.strictEqual(tests.length, 2, `Invalid number of test suites
returned`);
@@ -266,7 +266,7 @@ suite('Extension Test Suite', () => {
console.log("Test: run all workspace tests");
const workspaceFolder = (vscode.workspace.workspaceFolders!)[0];
- await vscode.commands.executeCommand('java.run.test',
workspaceFolder.uri.toString());
+ await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
'.run.test', workspaceFolder.uri.toString());
console.log(`Test: run all workspace tests finished`);
} catch (error) {
dumpJava();
diff --git a/java/java.lsp.server/vscode/src/test/suite/testutils.ts
b/java/java.lsp.server/vscode/src/test/suite/testutils.ts
index dfc015e529..5abc877625 100644
--- a/java/java.lsp.server/vscode/src/test/suite/testutils.ts
+++ b/java/java.lsp.server/vscode/src/test/suite/testutils.ts
@@ -125,7 +125,7 @@ export function waitCommandsReady() : Promise<void> {
function checkCommands(attempts : number, cb : () => void) {
try {
// this command is parameterless
-
vscode.commands.executeCommand("java.attachDebugger.configurations")
+ vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.attachDebugger.configurations")
console.log("NBLS commands ready.");
resolve();
} catch (e) {
@@ -159,9 +159,9 @@ async function waitProjectRecognized(someJavaFile : string)
{
return waitCommandsReady().then(() => {
const u : vscode.Uri = vscode.Uri.file(someJavaFile);
// clear out possible bad or negative caches.
- return
vscode.commands.executeCommand("java.clear.project.caches").then(
+ return vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".clear.project.caches").then(
// this should assure opening the root with the created project.
- () => vscode.commands.executeCommand("java.get.project.packages",
u.toString())
+ () => vscode.commands.executeCommand(myExtension.COMMAND_PREFIX +
".java.get.project.packages", u.toString())
);
});
}
diff --git a/java/java.lsp.server/vscode/src/testAdapter.ts
b/java/java.lsp.server/vscode/src/testAdapter.ts
index 2141996ccc..fb5563e940 100644
--- a/java/java.lsp.server/vscode/src/testAdapter.ts
+++ b/java/java.lsp.server/vscode/src/testAdapter.ts
@@ -21,6 +21,7 @@
import { commands, debug, tests, workspace, CancellationToken, TestController,
TestItem, TestRunProfileKind, TestRunRequest, Uri, TestRun, TestMessage,
Location, Position, MarkdownString } from "vscode";
import * as path from 'path';
import { asRange, TestCase, TestSuite } from "./protocol";
+import { COMMAND_PREFIX } from "./extension";
export class NbTestAdapter {
@@ -41,7 +42,7 @@ export class NbTestAdapter {
async load(): Promise<void> {
for (let workspaceFolder of workspace.workspaceFolders || []) {
- const loadedTests: any = await
commands.executeCommand('java.load.workspace.tests',
workspaceFolder.uri.toString());
+ const loadedTests: any = await
commands.executeCommand(COMMAND_PREFIX + '.load.workspace.tests',
workspaceFolder.uri.toString());
if (loadedTests) {
loadedTests.forEach((suite: TestSuite) => {
this.updateTests(suite);
@@ -64,7 +65,7 @@ export class NbTestAdapter {
this.set(item, 'enqueued');
const idx = item.id.indexOf(':');
if (!cancellation.isCancellationRequested) {
- await
commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ?
'java.debug.single' : 'java.run.single', item.uri.toString(), idx < 0 ?
undefined : item.id.slice(idx + 1));
+ await
commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ?
COMMAND_PREFIX + '.debug.single' : COMMAND_PREFIX + '.run.single',
item.uri.toString(), idx < 0 ? undefined : item.id.slice(idx + 1));
}
}
}
@@ -72,7 +73,7 @@ export class NbTestAdapter {
this.testController.items.forEach(item => this.set(item,
'enqueued'));
for (let workspaceFolder of workspace.workspaceFolders || []) {
if (!cancellation.isCancellationRequested) {
- await commands.executeCommand(request.profile?.kind
=== TestRunProfileKind.Debug ? 'java.debug.test': 'java.run.test',
workspaceFolder.uri.toString());
+ await commands.executeCommand(request.profile?.kind
=== TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.test': COMMAND_PREFIX +
'.run.test', workspaceFolder.uri.toString());
}
}
}
@@ -308,7 +309,7 @@ export class NbTestAdapter {
}
const result = regExp.exec(line);
if (result) {
-
message.appendText(result[1]).appendText('(').appendMarkdown(`[${result[3]}](command:java.open.stacktrace?${encodeURIComponent(JSON.stringify([currentTestUri,
result[2], result[4], +result[5]]))})`).appendText(')');
+
message.appendText(result[1]).appendText('(').appendMarkdown(`[${result[3]}](command:${COMMAND_PREFIX}.open.stacktrace?${encodeURIComponent(JSON.stringify([currentTestUri,
result[2], result[4], +result[5]]))})`).appendText(')');
} else {
message.appendText(line);
}
diff --git
a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java
b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java
index 4d9db1f375..0c6b3507c1 100644
---
a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java
+++
b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java
@@ -65,8 +65,8 @@ public class CodeLensProviderImpl implements CodeLensProvider
{
Tag testTag = testTags.get(0);
Range lenSpan = new Range(testTag.getTagStart(), testTag.getTagEnd());
List<Object> params =
Collections.singletonList(file.toURI().toString());
- return Collections.unmodifiableList(Arrays.asList(new
CodeLens(lenSpan, new Command(Bundle.DN_RunTest(), "java.run.test", params),
null),
- new
CodeLens(lenSpan, new Command(Bundle.DN_DebugTest(), "java.debug.test",
params), null)));
+ return Collections.unmodifiableList(Arrays.asList(new
CodeLens(lenSpan, new Command(Bundle.DN_RunTest(), "nbls.run.test", params),
null),
+ new
CodeLens(lenSpan, new Command(Bundle.DN_DebugTest(), "nbls.debug.test",
params), null)));
}
}
---------------------------------------------------------------------
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