fix: include unsaved content in prompt

This commit is contained in:
carlrobertoh@gmail.com 2025-02-10 18:42:04 +00:00
parent 1a3fbdd94a
commit 7cd9644932

View file

@ -1,5 +1,6 @@
package ee.carlrobert.codegpt;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import java.io.File;
@ -24,10 +25,19 @@ public record ReferencedFile(String fileName, String filePath, String fileConten
return new ReferencedFile(
virtualFile.getName(),
virtualFile.getPath(),
readContent(virtualFile)
getVirtualFileContent(virtualFile)
);
}
private static String getVirtualFileContent(VirtualFile virtualFile) {
var documentManager = FileDocumentManager.getInstance();
var document = documentManager.getDocument(virtualFile);
if (document != null && documentManager.isDocumentUnsaved(document)) {
return document.getText();
}
return readContent(virtualFile);
}
private static String readContent(File file) {
try {
return new String(Files.readAllBytes(Paths.get(file.getPath())));