fix(lsp): Folding range editor NPE

This commit is contained in:
FalsePattern 2023-08-18 11:37:45 +02:00 committed by FalsePattern
parent ca632b98fe
commit cb30860ec6
Signed by: falsepattern
GPG key ID: FDF7126A9E124447
2 changed files with 10 additions and 1 deletions

View file

@ -33,6 +33,12 @@ Changelog structure reference:
- Starting(Yellow): Refresh arrow
- Started(Green): Empty
### Fixed
#### LSP
- NullPointerException in folding range provider when closing editors quickly
## [0.6.0]
### Added

View file

@ -94,6 +94,9 @@ public class LSPFoldingRangeProvider extends CustomFoldingBuilder {
new AFoldingRange(start, end, collapsedText == null ? "..." : collapsedText)),
root, document, true);
var editor = FileUtils.editorFromPsiFile(root.getContainingFile());
if (editor == null) {
return;
}
app.invokeLater(() -> {
if (editor.isDisposed()) {
return;
@ -102,7 +105,7 @@ public class LSPFoldingRangeProvider extends CustomFoldingBuilder {
var oldRegions = Arrays.stream(foldingModel.getAllFoldRegions()).filter(region -> {
var data = region.getUserData(ASYNC_FOLDING_KEY);
return data != null && data;
}).collect(Collectors.toList());
}).toList();
foldingModel.runBatchFoldingOperation(() -> {
for (var oldRegion: oldRegions) {
foldingModel.removeFoldRegion(oldRegion);