[folding] Support Shift+Click on folding marker to recursively unfold. Fixes #16517

This commit is contained in:
Martin Aeschlimann
2017-11-20 16:20:29 +01:00
parent 9455a39542
commit 12c6aaa7db
+6 -5
View File
@@ -300,12 +300,13 @@ export class FoldingController implements IEditorContribution {
if (foldingModel) {
let region = foldingModel.getRegionAtLine(lineNumber);
if (region && region.startLineNumber === lineNumber) {
if (iconClicked || region.isCollapsed) {
if (e.event.middleButton) {
setCollapseStateLevelsDown(foldingModel, !region.isCollapsed, Number.MAX_VALUE, [lineNumber]);
} else {
foldingModel.toggleCollapseState([region]);
let isCollapsed = region.isCollapsed;
if (iconClicked || isCollapsed) {
let toToggle = [region];
if (e.event.middleButton || e.event.shiftKey) {
toToggle.push(...foldingModel.getRegionsInside(region, r => r.isCollapsed === isCollapsed));
}
foldingModel.toggleCollapseState(toToggle);
this.reveal(lineNumber);
}
}