diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml index 6e01405b7..9a2ff4c42 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml @@ -14,6 +14,10 @@ contentType="org.eclipse.jdt.core.javaSource" id="org.eclipse.languageserver.languages.springboot"> + + { createDocument(new TextDocumentIdentifier(file).getUri()); }); + getWorkspaceService().getFileObserver().onFileChanged(globPattern, (file) -> { + updateDocument(new TextDocumentIdentifier(file).getUri(), null); + }); } public void shutdown() { @@ -259,6 +262,10 @@ public class SpringSymbolIndex { Optional maybeProject = projectFinder.find(new TextDocumentIdentifier(docURI)); if (maybeProject.isPresent()) { try { + if (content == null) { + content = FileUtils.readFileToString(new File(new URI(docURI))); + } + UpdateItem updateItem = new UpdateItem(maybeProject.get(), docURI, content, indexer); futures.add(CompletableFuture.runAsync(updateItem, this.updateQueue)); }