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 868f28a0d9 Filtering symbols by query prefix. (#6136)
868f28a0d9 is described below
commit 868f28a0d91e86fb4ed7786ea3cff9532ea386d2
Author: Dusan Balek <[email protected]>
AuthorDate: Wed Jun 28 16:32:34 2023 +0200
Filtering symbols by query prefix. (#6136)
---
.../modules/micronaut/symbol/MicronautSymbolSearcher.java | 14 ++++++++------
java/java.lsp.server/vscode/src/extension.ts | 7 ++++++-
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git
a/enterprise/micronaut/src/org/netbeans/modules/micronaut/symbol/MicronautSymbolSearcher.java
b/enterprise/micronaut/src/org/netbeans/modules/micronaut/symbol/MicronautSymbolSearcher.java
index 51c2337bf3..9a2fcfb18b 100644
---
a/enterprise/micronaut/src/org/netbeans/modules/micronaut/symbol/MicronautSymbolSearcher.java
+++
b/enterprise/micronaut/src/org/netbeans/modules/micronaut/symbol/MicronautSymbolSearcher.java
@@ -75,7 +75,7 @@ public class MicronautSymbolSearcher implements IndexSearcher
{
while (children.hasMoreElements()) {
FileObject child = children.nextElement();
if (child.hasExt("mn")) { //NOI18N
- loadSymbols(child, symbols);
+ loadSymbols(child, textForQuery, symbols);
}
}
}
@@ -84,7 +84,7 @@ public class MicronautSymbolSearcher implements IndexSearcher
{
return symbols;
}
- private static void loadSymbols(FileObject input, Set<Descriptor> symbols)
{
+ private static void loadSymbols(FileObject input, String textForQuery,
Set<Descriptor> symbols) {
try (BufferedReader br = new BufferedReader(new
InputStreamReader(input.getInputStream(), StandardCharsets.UTF_8))) {
FileObject fo = null;
String line;
@@ -102,10 +102,12 @@ public class MicronautSymbolSearcher implements
IndexSearcher {
return;
}
String name = info.substring(0, idx).trim();
- String[] range = info.substring(idx + 1).split("-");
- int start = range.length > 0 ? Integer.parseInt(range[0])
: 0;
- int end = range.length > 1 ? Integer.parseInt(range[1]) :
start;
- symbols.add(new SymbolDescriptor(name, fo, start, end));
+ if (name.startsWith(textForQuery)) {
+ String[] range = info.substring(idx + 1).split("-");
+ int start = range.length > 0 ?
Integer.parseInt(range[0]) : 0;
+ int end = range.length > 1 ?
Integer.parseInt(range[1]) : start;
+ symbols.add(new SymbolDescriptor(name, fo, start,
end));
+ }
}
}
} catch (IOException ex) {
diff --git a/java/java.lsp.server/vscode/src/extension.ts
b/java/java.lsp.server/vscode/src/extension.ts
index 1ed5bb07c9..e5bc7b8aef 100644
--- a/java/java.lsp.server/vscode/src/extension.ts
+++ b/java/java.lsp.server/vscode/src/extension.ts
@@ -36,7 +36,8 @@ import {
RevealOutputChannelOn,
DocumentSelector,
ErrorHandlerResult,
- CloseHandlerResult
+ CloseHandlerResult,
+ SymbolInformation
} from 'vscode-languageclient';
import * as net from 'net';
@@ -613,6 +614,10 @@ export function activate(context: ExtensionContext):
VSNetBeansAPI {
}
}
}));
+
context.subscriptions.push(commands.registerCommand('nbls.workspace.symbols',
async (query) => {
+ const c = await client;
+ return (await c.sendRequest<SymbolInformation[]>("workspace/symbol", {
"query": query })) ?? [];
+ }));
context.subscriptions.push(commands.registerCommand('java.complete.abstract.methods',
async () => {
const active = vscode.window.activeTextEditor;
if (active) {
---------------------------------------------------------------------
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