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));
}