Added case insensitive search for in workspace symbol search

This commit is contained in:
nsingh
2017-11-16 11:50:30 -08:00
parent 943351d860
commit 613b79cb35
2 changed files with 20 additions and 15 deletions

View File

@@ -54,6 +54,7 @@ import org.springframework.ide.vscode.commons.java.IJavaProject;
import org.springframework.ide.vscode.commons.languageserver.java.JavaProjectFinder;
import org.springframework.ide.vscode.commons.languageserver.java.ProjectObserver.Listener;
import org.springframework.ide.vscode.commons.util.Log;
import org.springframework.ide.vscode.commons.util.StringUtil;
import org.springframework.ide.vscode.commons.util.text.LanguageId;
import org.springframework.ide.vscode.commons.util.text.TextDocument;
@@ -241,7 +242,7 @@ public class SpringIndexer {
try {
initializeTask.get();
return allsymbols.stream()
.filter(symbol -> containsCharacters(symbol.getName().toCharArray(), query.toCharArray()))
.filter(symbol -> StringUtil.containsCharactersCaseInsensitive(symbol.getName(), query))
.collect(Collectors.toList());
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
@@ -250,20 +251,6 @@ public class SpringIndexer {
return null;
}
private boolean containsCharacters(char[] symbolChars, char[] queryChars) {
int symbolindex = 0;
int queryindex = 0;
while (queryindex < queryChars.length && symbolindex < symbolChars.length) {
if (symbolChars[symbolindex] == queryChars[queryindex]) {
queryindex++;
}
symbolindex++;
}
return queryindex == queryChars.length;
}
private void scanFiles(File directory) {
try {
Map<Optional<IJavaProject>, List<String>> projects = Files.walk(directory.toPath())