fix(lsp): Folding range editor NPE
This commit is contained in:
parent
ca632b98fe
commit
cb30860ec6
2 changed files with 10 additions and 1 deletions
|
@ -33,6 +33,12 @@ Changelog structure reference:
|
||||||
- Starting(Yellow): Refresh arrow
|
- Starting(Yellow): Refresh arrow
|
||||||
- Started(Green): Empty
|
- Started(Green): Empty
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
#### LSP
|
||||||
|
|
||||||
|
- NullPointerException in folding range provider when closing editors quickly
|
||||||
|
|
||||||
## [0.6.0]
|
## [0.6.0]
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -94,6 +94,9 @@ public class LSPFoldingRangeProvider extends CustomFoldingBuilder {
|
||||||
new AFoldingRange(start, end, collapsedText == null ? "..." : collapsedText)),
|
new AFoldingRange(start, end, collapsedText == null ? "..." : collapsedText)),
|
||||||
root, document, true);
|
root, document, true);
|
||||||
var editor = FileUtils.editorFromPsiFile(root.getContainingFile());
|
var editor = FileUtils.editorFromPsiFile(root.getContainingFile());
|
||||||
|
if (editor == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
app.invokeLater(() -> {
|
app.invokeLater(() -> {
|
||||||
if (editor.isDisposed()) {
|
if (editor.isDisposed()) {
|
||||||
return;
|
return;
|
||||||
|
@ -102,7 +105,7 @@ public class LSPFoldingRangeProvider extends CustomFoldingBuilder {
|
||||||
var oldRegions = Arrays.stream(foldingModel.getAllFoldRegions()).filter(region -> {
|
var oldRegions = Arrays.stream(foldingModel.getAllFoldRegions()).filter(region -> {
|
||||||
var data = region.getUserData(ASYNC_FOLDING_KEY);
|
var data = region.getUserData(ASYNC_FOLDING_KEY);
|
||||||
return data != null && data;
|
return data != null && data;
|
||||||
}).collect(Collectors.toList());
|
}).toList();
|
||||||
foldingModel.runBatchFoldingOperation(() -> {
|
foldingModel.runBatchFoldingOperation(() -> {
|
||||||
for (var oldRegion: oldRegions) {
|
for (var oldRegion: oldRegions) {
|
||||||
foldingModel.removeFoldRegion(oldRegion);
|
foldingModel.removeFoldRegion(oldRegion);
|
||||||
|
|
Loading…
Add table
Reference in a new issue