From 4194b50082927737bc3cb396904180cedea28b14 Mon Sep 17 00:00:00 2001 From: David Valachovic Date: Sun, 19 Nov 2017 13:19:41 -0600 Subject: [PATCH 1/3] added yarn-error.log to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d08f65260d3..7412c251294 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ out-vscode/ out-vscode-min/ build/node_modules coverage/ -test_data/ \ No newline at end of file +test_data/ +yarn-error.log \ No newline at end of file From f34854609a7fcac9b074a551dcab4051f9c9b51e Mon Sep 17 00:00:00 2001 From: David Valachovic Date: Sun, 19 Nov 2017 13:20:52 -0600 Subject: [PATCH 2/3] implemented recursive folding toggle when folding decrator is clicked with middle mouse --- src/vs/editor/contrib/folding/folding.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/folding/folding.ts b/src/vs/editor/contrib/folding/folding.ts index 0c0ac80f95d..1763bc02f2b 100644 --- a/src/vs/editor/contrib/folding/folding.ts +++ b/src/vs/editor/contrib/folding/folding.ts @@ -229,7 +229,7 @@ export class FoldingController implements IEditorContribution { this.mouseDownInfo = null; let range = e.target.range; - if (!this.hiddenRangeModel || !range || !e.event.leftButton) { + if (!this.hiddenRangeModel || !range || (!e.event.leftButton && !e.event.middleButton)) { return; } let iconClicked = false; @@ -298,7 +298,15 @@ export class FoldingController implements IEditorContribution { let region = foldingModel.getRegionAtLine(lineNumber); if (region && region.startLineNumber === lineNumber) { if (iconClicked || region.isCollapsed) { - foldingModel.toggleCollapseState([region]); + if (e.event.middleButton) { + if (foldingModel.ranges.isCollapsed(region.regionIndex)) { + setCollapseStateLevelsDown(foldingModel, false, Number.MAX_VALUE, [lineNumber]); + } else { + setCollapseStateLevelsDown(foldingModel, true, Number.MAX_VALUE, [lineNumber]); + } + } else { + foldingModel.toggleCollapseState([region]); + } this.reveal(lineNumber); } } From bff12b618d4b58a28e09b71ff956f5ecaae17c2e Mon Sep 17 00:00:00 2001 From: David Valachovic Date: Sun, 19 Nov 2017 13:32:09 -0600 Subject: [PATCH 3/3] refactored code around middle click folding --- src/vs/editor/contrib/folding/folding.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/vs/editor/contrib/folding/folding.ts b/src/vs/editor/contrib/folding/folding.ts index 1763bc02f2b..f925f3e08a4 100644 --- a/src/vs/editor/contrib/folding/folding.ts +++ b/src/vs/editor/contrib/folding/folding.ts @@ -229,7 +229,10 @@ export class FoldingController implements IEditorContribution { this.mouseDownInfo = null; let range = e.target.range; - if (!this.hiddenRangeModel || !range || (!e.event.leftButton && !e.event.middleButton)) { + if (!this.hiddenRangeModel || !range) { + return; + } + if (!e.event.leftButton && !e.event.middleButton) { return; } let iconClicked = false; @@ -299,11 +302,7 @@ export class FoldingController implements IEditorContribution { if (region && region.startLineNumber === lineNumber) { if (iconClicked || region.isCollapsed) { if (e.event.middleButton) { - if (foldingModel.ranges.isCollapsed(region.regionIndex)) { - setCollapseStateLevelsDown(foldingModel, false, Number.MAX_VALUE, [lineNumber]); - } else { - setCollapseStateLevelsDown(foldingModel, true, Number.MAX_VALUE, [lineNumber]); - } + setCollapseStateLevelsDown(foldingModel, !region.isCollapsed, Number.MAX_VALUE, [lineNumber]); } else { foldingModel.toggleCollapseState([region]); }