Work correctly when node's offset point is zero

This commit is contained in:
joshvera 2015-12-02 17:12:32 -05:00
parent 14bc05b8ac
commit e52c38a68f

View file

@ -130,19 +130,21 @@ void ts_tree_release(TSTree *self) {
}
size_t ts_tree_offset_column(const TSTree *self) {
const TSTree *parent = self;
size_t column = self->padding_point.column;
if (self->padding_point.row > 0) {
return column;
}
const TSTree *parent = self;
TSPoint offset_point;
do {
offset_point = parent->context.offset_point;
column += offset_point.column;
parent = parent->context.parent;
if (!parent) break;
column += parent->context.offset_point.column;
} while (parent->context.offset_point.row == 0);
} while (offset_point.row == 0);
return column;
}