do not include xml tag attributes in the fold range

This commit is contained in:
nightwing 2014-12-21 12:33:16 +04:00
commit b46a0fb4f9
2 changed files with 8 additions and 4 deletions

View file

@ -59,8 +59,8 @@ module.exports = {
assert.equal(session.getFoldWidget(3), "end");
assert.equal(session.getFoldWidget(4), "end");
assert.range(session.getFoldWidgetRange(0), 0, 8, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 8, 4, 0);
assert.range(session.getFoldWidgetRange(0), 0, 31, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 31, 4, 0);
assert.range(session.getFoldWidgetRange(1), 1, 16, 3, 0);
assert.range(session.getFoldWidgetRange(3), 1, 16, 3, 0);
@ -85,8 +85,8 @@ module.exports = {
assert.equal(session.getFoldWidget(3), "end");
assert.equal(session.getFoldWidget(4), "end");
assert.range(session.getFoldWidgetRange(0), 0, 7, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 7, 4, 0);
assert.range(session.getFoldWidgetRange(0), 0, 23, 4, 0);
assert.range(session.getFoldWidgetRange(4), 0, 23, 4, 0);
assert.range(session.getFoldWidgetRange(1), 1, 17, 3, 4);
assert.range(session.getFoldWidgetRange(3), 1, 17, 3, 4);

View file

@ -217,6 +217,8 @@ function is(token, type) {
row: row,
column: firstTag.start.column + firstTag.tagName.length + 2
};
if (firstTag.start.row == firstTag.end.row)
start.column = firstTag.end.column;
while (tag = this._readTagForward(iterator)) {
if (tag.selfClosing) {
if (!stack.length) {
@ -258,6 +260,8 @@ function is(token, type) {
this._pop(stack, tag);
if (stack.length == 0) {
tag.start.column += tag.tagName.length + 2;
if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)
tag.start.column = tag.end.column;
return Range.fromPoints(tag.start, end);
}
}