do not include empty lines in section fold
This commit is contained in:
parent
ea430330ba
commit
dfa2eaf5ac
2 changed files with 28 additions and 3 deletions
|
|
@ -73,7 +73,7 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
return range;
|
return range;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (foldStyle !== "markbeginend")
|
if (foldStyle === "markbegin")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var match = line.match(this.foldingStopMarker);
|
var match = line.match(this.foldingStopMarker);
|
||||||
|
|
@ -105,10 +105,11 @@ oop.inherits(FoldMode, BaseFoldMode);
|
||||||
var subRange = this.getFoldWidgetRange(session, "all", row);
|
var subRange = this.getFoldWidgetRange(session, "all", row);
|
||||||
|
|
||||||
if (subRange) {
|
if (subRange) {
|
||||||
if (subRange.isMultiLine()) {
|
if (subRange.start.row <= startRow) {
|
||||||
|
break;
|
||||||
|
} else if (subRange.isMultiLine()) {
|
||||||
row = subRange.end.row;
|
row = subRange.end.row;
|
||||||
} else if (startIndent == indent) {
|
} else if (startIndent == indent) {
|
||||||
endRow = row - 1;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,30 @@ module.exports = {
|
||||||
|
|
||||||
assert.range(session.getFoldWidgetRange(0), 0, 2, 2, 7);
|
assert.range(session.getFoldWidgetRange(0), 0, 2, 2, 7);
|
||||||
assert.range(session.getFoldWidgetRange(2), 0, 2, 2, 7);
|
assert.range(session.getFoldWidgetRange(2), 0, 2, 2, 7);
|
||||||
|
},
|
||||||
|
|
||||||
|
"test: fold sections": function() {
|
||||||
|
var session = new EditSession([
|
||||||
|
'/* section0 */',
|
||||||
|
'{',
|
||||||
|
' /* section1 */',
|
||||||
|
' stuff',
|
||||||
|
' ',
|
||||||
|
' /* section2 */',
|
||||||
|
' ',
|
||||||
|
' stuff',
|
||||||
|
' ',
|
||||||
|
' }',
|
||||||
|
'foo'
|
||||||
|
]);
|
||||||
|
|
||||||
|
var mode = new JavaScriptMode();
|
||||||
|
session.setFoldStyle("markbegin");
|
||||||
|
session.setMode(mode);
|
||||||
|
|
||||||
|
assert.range(session.getFoldWidgetRange(0, true), 0, 14, 10, 3);
|
||||||
|
assert.range(session.getFoldWidgetRange(2, true), 2, 18, 3, 9);
|
||||||
|
assert.range(session.getFoldWidgetRange(5, true), 5, 18, 7, 9);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue